Hive分区和分桶的区别和优缺点

10 篇文章 0 订阅
9 篇文章 0 订阅
本文介绍了Hive中的分区和分桶的概念,分区通过日期等列进行数据组织,便于快速定位数据;分桶基于哈希函数,将数据进一步划分到不同桶中,提高查询性能。分区和分桶的创建命令、区别以及各自的优缺点进行了详细阐述,分区利于数据定位,减少扫描范围,分桶则提供查询优化可能。
摘要由CSDN通过智能技术生成

前言

        主要介绍:分区/Partitioning 和分桶/Bucketing的区别;如何创建分区表、分桶表;分区和分桶的优缺点对比。以Hive为例,其他数据存储和计算架构(如Spark)类似。

什么是分区和分桶

        Hive作为一种开源数据仓库系统,用来存储、查询和分析大数据集。Hive中的数据,逻辑概念上存储结构划分为表、区/Partition和桶/Bucket:这都是数据在存储系统如何存放、如何组织的方式。

区Partition

        Hive中的表一般会按照某一个列进行分区,例如常见的按照日期分区。表可以理解为主目录,分区可以理解为主目录下的子文件夹,例如日期分区,每个日期文件夹下存储对应日期的数据。有了分区,我们可疑具体定位到某个数据分区,而不用扫描整个表,查询更快。

桶Bucket

        Hive中,还可以基于某个高基数的列,应用哈希函数,将分区里的数据进一步划分到不同的桶/Bucket中,目的是在附加这个哈希结构后,通常能得到更好的查询性能。含义是对具体分区文件夹下的数据用哈希结构进一步组织起来,这样原来子文件里的数据需要全部扫描,有了哈希结构后,将会更好的命中数据。

创建分区/分桶的命令


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只要开始永远不晚

谢谢打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值