4
我有一個簡單的問題,我想我知道關於FileInputFormat isSplitable方法的答案。如果我重寫這個方法返回false,自然我會有一個映射器處理一個文件(我只有一個文件)。如果這個文件分佈在HDFS上,它將全部被拉到我的單個映射器中。當我使用映射器處理它並創建鍵/值對以發送給reducer時,如果我創建了大量這些鍵,它們會在我的集羣中分佈以利用數據局部性還是存在某種隱式如果我認爲這是不可能發生的事情,那麼這個後果是錯的嗎?Hadoop FileInputFormat isSplitable false
Praveen,謝謝你的回覆。那麼當地是什麼時候發揮作用呢?僅在地圖階段?現在,我只想重複你在說什麼,以便我確信我理解它(如果我是對的,請告訴我是/否)。當映射器發射KV對時,我認爲它們被存儲,排序,然後在羣集中分佈(因爲文件實際上不再是必需的)。然後在這些KV對組上執行減少工作。 –
你是對的 - 地圖具有數據局部性,因爲它處理文件作爲輸入,而Reduce處理KV作爲輸入,它沒有數據局部性。 –