Hive中的分区和桶是什么意思
本篇内容主要讲解“ Hive中的分区和桶是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ Hive中的分区和桶是什么意思”吧!
建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联建站专业提供成都网站设计、网站建设、外贸网站建设,网页设计,网站制作(企业站、响应式网站建设、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!
hive中的分区和桶
Hive 把表组织成“分区” Partition。 这是一种根据“分区列”(Partition column,如日期)的值对表进行粗略划分的机制,使用分区可以加快数据分片(Slice)的查询速度
表和分区可以进一步分为“桶”(Bucket)它会为数据提供额外的结果以获得更高效率的查询处理,例如,通过根据用户ID来划分桶,我们可以早所有用户集合的随机样本上快速计算基于用户的查询。
下面以日志文件进行考虑,日志文件中的每条记录包含一个分区,我们一般根据日期来进行分区,同一天的记录会放在相同的区中。
分区是在创建表的时候用partition by 子句定义的,该子句需要定义列的列表
桶的话,可以把该表分成规定的几个部分,每个部分是根据制定的列取模来决定的 下面我们就是根据ts来对4取模决定桶的
如下:
在我们把数据加载到分区表的时候,要显示的指定分区值,比如我们在目录下面有一个文件 20140418GB.txt 里面有内容
我们将该数据加载到表logs中
现在来查看HDFS结构和里面的数据
我们在eclipse中查看
但是奇怪的是,进去里面的目录我们可以看到
这里并没有出现分桶,然后我们进行数据查找,以分桶的形式
结果如下
这个结果包括了所有三个文件中,符合要求的记录
我曾单独的使用过分桶,实验显示,如果单独分桶那么将会看见所分桶的各片,但是分区和分桶一起来的话,却只能看见分区的目录
我们是不是可以这样理解,当分区和分桶一起来时,分好的区是主流,我们可以看到分区中的目录,但是分的桶,我们不再看见,结构存在,只是不显示
而我们进行查找时,就可以用上了
到此,相信大家对“ Hive中的分区和桶是什么意思”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
网站名称:Hive中的分区和桶是什么意思
分享地址:http://cdiso.cn/article/pghddp.html