hadoop解决数据倾斜方法

1)提请在map端进行combiner,减少传入的数据量

  在mapper加上combiner相当于提前进行reduce,即把一个Mappper中的相同key进行了聚合,减少shuffle过程中传输数据量,以及reducer端的计算量。【注意:map端的提前聚合不能影响最终的结果,eg:求平均值的就不能在map端提前聚合】

2)将导致数据倾斜的key,大量分布在不同的mapper

  •   局部聚合加全局聚合
  •   增加reducer,提高平行度
  •   自定义分区器

  根据数据分布情况,自定义散列函数将key均匀分配到不同的reducer中去

posted @ 2020-11-07 09:39  北冥_之鱼  阅读(166)  评论(0)    收藏  举报