解决数据倾斜问题
join
小表join大表使用mapjoin
大表join大表使用skewinjoin
null值多的情况使用将key拼接随机数打散
类型不一致jion转化为一致数据类型进行join
如果小表join大表,超过了小表定义的默认配置,但不是特别大的情况,也可以通过mapjoin的注解,强制使用mapjoin达到优化的
group by
group by 倾斜使用skewgroup
如果group by的字段粒度太大可以先,内层嵌套更细粒度的group by
也可以拼接随机数来进行多次group by解决
还可以开启map端聚合,也就mapreduce中的combiner操作,来解决数据倾斜
网友评论