2013-08-19 92 views
0

我需要相關地圖降低chaining.i有一張地圖,減少這樣的輸入/輸出流量減少鏈

MAP-> reduce->地圖

我想減速機的輸出鏈幫助在最後的映射器中使用

例如,在我的reducer中,我正在獲取僱員的最高工資,並且此值應該用於下一個映射器,並找到具有該最高工資值的記錄。我的最後一個映射器應該得到reducer的輸出和文件的內容?有可能嗎?如果可以的話問題是什麼?有什麼更好的解決方案?

回答

0

我不確定我是否理解這個問題,但我會盡力幫忙。
您已將包含員工工資(讓我們稱之爲input1)的一些輸入減少爲輸出(讓我們稱之爲output1),如下所示:
Key: someEmployee Value: max salary
現在你想要另一個映射器來映射來自input1和output1的數據嗎?
如果是這樣,比你有幾個選擇,你可以根據你的需要選擇一個。

  • 操作第一個減速機輸出。創建輸出1的格式爲
    Key: someEmployee Value: [email protected]@salary_1,salary_2,salary_3...salary_n
    並創建新作業,並將新映射器輸入設置爲輸出1。

  • 嘗試閱讀this issue解釋如何讓多個輸入到一個映射

+0

對不起IAM新的Hadoop,用它。我這樣苦苦會發現在我減速的最大薪水,而這個最高薪水,內容的文件應該是下一個映射器的輸入,以便我可以找到最高工資的記錄。 – user1585111

+0

所以第一個解決方案應該正是你所需要的。只需創建另一個mapreduce作業,並將第一步生成的輸出文件作爲輸入。 – Roy

+0

我的回答對你有幫助嗎?你還需要什麼別的嗎?如果不是,請標記爲答案。 – Roy