天天看点

Hadoop专栏(七)Mapreduce回顾

Mpa阶段

Reduce阶段

Hadoop专栏(七)Mapreduce回顾

数据倾斜问题

1.数据侵袭呃——某一个区域的数据量要远远大于其他区域

数据大小倾斜——部分记录的大小远远小于平均值

2.如何收集倾斜数据

在reduce方法中加入记录map输出键的详细情况的功能

Hadoop专栏(七)Mapreduce回顾

减少数据倾斜的方法

1.抽样和范围分区

可以通过对原始数据进行抽样得到的结果

Hadoop专栏(七)Mapreduce回顾

2.自定义分区

基于输出键值的背景知识进行自定义分区。例如,如果map输出键的单词来源于一本书。且其中某几个专业词汇较多。那么就可以自动分区将这些专业词汇发送给固定的一部分reduce实例。而将其他的都发送给剩余的reduce实例

3.Combine

使用Combine可以大量地减少数据倾斜。在可能的情况下,combine的目的就是提前聚合并精简数据

Hadoop专栏(七)Mapreduce回顾