hadoop-shuffle Wordcount详解

转载地址: https://blog.csdn.net/Peter_Changyb/article/details/82682422

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

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

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

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

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

  1. 1. 拉取partition
  2. hadoop决定有多少个reducer的时候会规定有多少个partition,每一个reducer拉取自己要处理的那个分组的全部成员。例如,某台节点要处理所有以a开头的键值对,它就会将所有mapper中的以a开头的那一组全部拉取过来。
  3. 2. merge
  4. 在每一个reducer上,将具有相同键的键值对生成另外一个新的键值对,键是以前的键,键值是一个以前键值的集合。
  5. 3. sort
  6. 在每一台reducer节点上,将新生成的键值对进行排序,根据 哈希码值。

.

5. Reduce操作

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章