自己的笔记-bigdata

原创
2019/02/03 00:18
阅读数 53

1 无法修改表结构,新版本的hive加上该参数

set hive.metastore.disallow.incompatible.col.type.changes = false

2 分桶表纪要

clustered by (f1) sorted by (f1) into 10 buckets;会根据f1计算出id,写入对应的分桶中;根据sorted by对桶对的数据进行排序

hash_function(bucketing_column) mod num_buckets

2.x之前需要指定set hive.enforce.bucketing = true;

2.x后不需要

分桶的优势:

2.1 避免分片数据量的波动

2.2 当两个表都是分桶表,且两个表的分桶数量可以被整除,且 join中 on 是分桶的key

开启hive.enforce.bucketmapjoin=true  桶和桶之间做join

进一步,当两个表分桶数一致,且分桶key被排过序,

set hive.input.format=org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat;
set hive.optimize.bucketmapjoin=true;
set hive.optimize.bucketmapjoin.sortedmerge=true;
可以更加的快

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部