解決數(shù)據(jù)傾斜問(wèn)題
join
小表join大表使用mapjoin
大表join大表使用skewinjoin
null值多的情況使用將key拼接隨機(jī)數(shù)打散
類型不一致jion轉(zhuǎn)化為一致數(shù)據(jù)類型進(jìn)行join
如果小表join大表砂客,超過(guò)了小表定義的默認(rèn)配置畅哑,但不是特別大的情況歉闰,也可以通過(guò)mapjoin的注解冤今,強(qiáng)制使用mapjoin達(dá)到優(yōu)化的
group by
group by 傾斜使用skewgroup
如果group by的字段粒度太大可以先省撑,內(nèi)層嵌套更細(xì)粒度的group by
也可以拼接隨機(jī)數(shù)來(lái)進(jìn)行多次group by解決
還可以開(kāi)啟map端聚合,也就mapreduce中的combiner操作颈畸,來(lái)解決數(shù)據(jù)傾斜