美文网首页
数据倾斜笔记整理

数据倾斜笔记整理

作者: 晨磊的微博 | 来源:发表于2020-03-25 15:40 被阅读0次

    数据倾斜笔记整理

    其实数据倾斜,最根本的原因就是某个分区被分配了过多的数据,那么解决数据倾斜的本质就是减少该分区的数据量。

    我们可以从下面几个思路上考虑解决方法。
    第一、就是让该分区的数据被分配到其他分区,对应的方法如下表:

    序号 方法 适用范围 备注
    1. 增加Reduce个数 适用于多个Key对应大量数据且被分配到同一分区的情况 增加Reduce可以让MR的分区函数把这些Key对应的数据重新分配其他分区
    2. 自定义Partitioner 适用于多个Key对应大量数据且被分配到同一分区的情况 目的是把原来分到一个分区的Key分到多个分区
    3. 给Key增加随机数 适用于一个Key对应大量数据的情况 该方法需要在Reduce端进行随机数的去除操作

    第二、就是提前进行聚合减少分区的数据

    序号 方法 适用范围 备注
    1. Map端combinner 适用非排重的计算,如count,sum等 如果是distinct并不适合这种方法

    第三、其他方式方法

    序号 方法 适用范围 备注
    1. 数据分离处理 即把倾斜的数据拿出来单独处理 如访问日志有很多用户ID未0,则可以选择剔除、或抽离单独进行计算

    PS:暂时就能想到这些,有遗漏或错误之处,欢迎指出,大家相互学习

    相关文章

      网友评论

          本文标题:数据倾斜笔记整理

          本文链接:https://www.haomeiwen.com/subject/uvqxuhtx.html