一种数据倾斜的具体解决思路

还是数据倾斜,任务跑到99%一直跑不动了,原因任务中有两个表join,估计是join的过程发生的倾斜,对两个表中的join字段进行<>'',is not null过滤后倾斜问题解决。其实原因很简单,比如两个表中这个字段各有100个值为空,join的笛卡尔积会达到10000,如果一边10000的话那就一亿了,所以join时对join字段进行不为空过滤十分重要。

如果发现是值为null出现的次数太多,那就可以使用一个随机值替换null,从而避免数据倾斜