6. Hive中的分区、分桶以及数据抽样
对
Hive
表进行分区、分桶,可以提高查询效率,抽样效率
6.1 分区
分区,在hdfs中表现为table目录下的子目录
6.2 分桶
对应建表时bucket关键字,在hdfs中表现为同一个表目录下根据hash散列之后的多个文件,会根据不同的文件把数据放到不同的桶中。
如果分桶表导入数据没有生成对应数量的文件,可通过如下方式解决:
-
开启自动分桶,设置参数:set hive.enforce.bucketing= true
-
手动设置reduce数量,比如set mapreduce.job.reduces=4。
建议对于设计表有分桶需求时,开启自动分桶。因为一旦reduce数量设置错了,规划的分桶数会无效。
注意:要用insert语句或者ctas语句将数据存入分桶表。load语句只是文件的移动或复制。
6.3 抽样(sampling)
6.3
版权声明:本文为qq_42164977原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。