前言
#博学谷IT学习技术支持#
在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作,有时候只需要扫描表中某些数据,因此Hive建表时引入了partition分区的概念;Hive中的分区就是分目录,而分桶的实质是分文件。
- 分区表的概念
分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区的所有的数据文件。分区表就是将数据按照表中的某一个字段进行统一归类,并存储在表中的不同的位置,也就是说,一个分区就是一类。把一个大的数据集根据业务需要分割成更小的数据集。 在hive中查询时通过WHERE子句中的表达式来选择查询所需要的指定的分区,这样的查询效率会提高很多。
- 分区表的意义
(1)分区表的作用是查询时,我们可以手动指定对应分区的数据,避免全表扫描,提高查询效率。
二、分桶表
Hive表分区的实质是分目录且分区的字段不属于Hive表中存在的字段;而分桶的实质是分文件,且分桶的字段必须在Hive表中存在。
- 分桶的概念
单个分区中的数据量越来