Hadoop的shuffle原理和过程图解

 

wordcount为例详细阐述shuffle的实现过程

1. 对HDFS输入的文件进行切割为KV形式

Hadoop的shuffle原理和过程图解_第1张图片

2.在mapper方法中执行,分割单词为KV形式。

Hadoop的shuffle原理和过程图解_第2张图片

3.shuffle在Map端的三个操作:partition(多节点的相同K合并),sort(键值对哈希码排序),combine(单节点上相同K合并)

Hadoop的shuffle原理和过程图解_第3张图片

4.shuffle在Reduce端的两个个操作:拉取partition,merge,sort

1. 拉取partition

hadoop决定有多少个reducer的时候会规定有多少个partition,每一个reducer拉取自己要处理的那个分组的全部成员。例如,某台节点要处理所有以a开头的键值对,它就会将所有mapper中的以a开头的那一组全部拉取过来。

2. merge

在每一个reducer上,将具有相同键的键值对生成另外一个新的键值对,键是以前的键,键值是一个以前键值的集合。

3. sort

在每一台reducer节点上,将新生成的键值对进行排序,根据 哈希码值。

.Hadoop的shuffle原理和过程图解_第4张图片

5. Reduce操作

Hadoop的shuffle原理和过程图解_第5张图片

6. 写出到HDFS:在每一台reducer节点上将文件写入,实际上是写成一个一个的文件块,但对外的表现形式是一整个大的结果文件。

Hadoop的shuffle原理和过程图解_第6张图片

你可能感兴趣的:(Hadoop生态核心技术)