HIVESQL数据倾斜干货
数据倾斜的几种常见场景:
1.distinct
2.group by
3.reducejoin
4.动态分区
1可以转换到2,2可以加参数就可以解决,原理在于预处理
参数:set hive.groupby.skewindata=true; --如果是group by过程出现倾斜 应该设置为true,这种方法会启动两个job,第一个job会在key前面添加一个随机数,将数据散列到reduce中,第二个job就是将key前面的随机数去掉进行聚合。
对于常见的情况3,是发生在关联处(比如on a.id=b.id
原创
2020-07-31 18:58:47 ·
494 阅读 ·
2 评论