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節點上將文件寫入,實際上是寫成一個一個的文件塊,但對外的表現形式是一整個大的結果文件。

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