倾斜原因:
map输出数据按key hash分配到reducer中,由于key分布不均匀、业务数据本身的特点、建表时考虑不周等原因造成reduce上的数据量差异过大。
解决方法:
1.对于key为空产生的数据倾斜可以对其赋予一个随机值。
2.参数调节:设置数据倾斜时进行负载均衡。
3.大小表join时,使用mapjoin让小的维度(1000条以下的条数)先进内存。在map端完成reduce。
4大表join大表时,把空值的key变成一个字符串加随机数,把倾斜的数据分到不同的reducer上。
5.把数据类型转换为相同的数据类型。
版权声明:本文为weixin_42908473原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。