hive什么情况下容易数据倾斜?如何解决?

  • Post author:
  • Post category:其他


倾斜原因:

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 版权协议,转载请附上原文出处链接和本声明。