hive-mapreduce过程中数据倾斜处理办法
当数据分布不均匀时,在mapreduce过程中会产生数据倾斜,具体表现为某个job执行时间非常长。
看是因为group by倾斜还是join引起的倾斜
1.group by倾斜
set hive.groupby.skewindata = true
先不按GroupBy字段分发,随机分发做一次聚合
额外启动一轮job,拿前面聚合过的数据按GroupBy字段分发再算结果
2.JOIN倾斜
set hive.optimize.skewjoin = true (负载均衡)
关联时有大量空值就给空值一个随机数
原创
2020-09-01 19:22:08 ·
225 阅读 ·
0 评论