Hive 关联主键数据倾斜的一种处理方法

记得之前用过一种办法,concat(a.col,'-',ceil(rand()*100)%20)),将记录数特别多的关联字段取模20,得到新字段a.col2;另外维护一张有20条记录的小表,小表的数据从0到19,用b表的关联字段关联这张小表得到新的字段b.col2,然后再用这个新字段b.col2关联a表的新字段a.col2
这样,相当于a表的值特别多的记录,分散为了20份,这个分为多少份可以根据实际情况调整

注意关联之后去重,保证数据准确

 

posted @ 2018-10-18 17:53  yuerspring  阅读(474)  评论(0编辑  收藏  举报