2013-11-22 89 views
0

我對Hadoop的實現感到困惑。Hadoop中的Mapper和Reducer

我注意到,當我運行帶有多個映射器和reducer的Hadoop MapReduce作業時,我會得到很多part-xxxxx文件。同時,確實只有一個關鍵字出現在其中。

因此,我想知道MapReduce是如何工作的,只有一個鍵只能輸出到一個輸出文件?

在此先感謝。

回答

3

MapReduce進程中的shuffle步驟負責確保所有記錄具有相同的密鑰,並最終在同一個reduce任務中。有關MapReduce數據流的描述,請參閱this Yahoo tutorial。被稱爲Partition & Shuffle的部分指出:

每個map任務可能會向任何分區發出(key,value)對;無論哪個映射器是其來源,相同鍵的所有值總是一起減少。

2

洗牌

輸入到減速機是映射器的排序後輸出。在這個階段,框架通過HTTP獲取所有映射器輸出的相關分區。

排序

該框架組減速器輸入由密鑰(因爲不同的映射器可以具有輸出相同的密鑰)在這個階段。

洗牌和分揀階段同時發生;當地圖輸出被取出時,它們被合併。

我得到這個從這裏

https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html

有它看看我希望這將有所幫助

相關問題