最近业务说数据出现异常个别端的数据量级超大,于是查看了一下代码,看到最近程序出现了数据倾斜的情况。于是查看了一下数据分布情况,看到两张表join后空值类特别大。
注意:这里的空值为’’,不是null
于是将右表的空值剔除掉key is not null and trim(key) !=’’.实际业务中还有很多默认的特殊值比如:-1这种。
1.特殊值特殊处理来解决
2.在on条件on case when a.key is null then concat(‘123’,rand() ) else a.key end = b.key(on case when a.key=’’ then concat(‘123’,rand() ) else a.key end = b.key)
hive某一特殊值较多出现数据倾斜
最新推荐文章于 2022-04-02 16:16:18 发布