2016-04-03 105 views
0

我是Hadoop mapreduce的新手。我瀏覽了一些教程,並注意到mapper的輸出在reducer一側進行排序,我們也有一個洗牌&排序階段。hadoop mapreduce兩種

那麼,爲什麼我們有兩種?他們的目的是什麼?

謝謝!

回答

0

映射器:它將來自源的輸入數據排列成鍵值對以供進一步處理。

減速器:聚合邏輯寫在這裏。

Shuffler的作用是混洗和排序,它將輸出從映射器傳遞到reducer.This由MR框架內部完成。但是,我們可以使用MR Api和Java實現自己的自定義混洗器。

參考字計數的這個例子:

http://kickstarthadoop.blogspot.in/2011/04/word-count-hadoop-map-reduce-example.html 也可以參考這個。 https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html

+0

感謝@TKHN爲您解答。我想知道對mapper的輸出進行排序有助於將key-value對發送到右縮減器,而reducer對鍵值對進行排序以更快地對它們進行分組,對嗎? – milodky