2016-02-12 85 views
1

我有一個1GB的文件。這是一個簡單的文本文件。我有一個3節點羣集。如果我編寫一個Java MapReduce程序來計算每個單詞的發生次數,Mappers Map()將被調用多少次,並調用Reducers reduce方法?Hadoop Map和Reduce框架如何

回答

2

首先,集羣的大小並不重要。它會導致一些冗餘的調用,只是爲了容錯,但我想這不是你的問題。因此,如果您有1節點羣集或100節點羣集,則map和reduce任務的數量將相同,結果將相同。

現在,對於地圖任務的數量,這取決於一些事情,例如塊的大小和輸入的格式。你可以在this article找到關於mappers的數量的詳細信息。

現在要調用reduce方法的次數,這更容易定義。在wordcount程序中,映射器的輸出鍵是一個單詞。因此,每個不同的單詞最終都會以不同的方式調用reduce方法。換句話說,reduce方法被調用的次數等於數據集中存在的不同單詞的數量。

+0

對不起,延遲迴復。上面的答案符合答案 – hanmayya