2012-06-23 85 views
0

我有一個應用程序,我想讓我的reducer(我有幾個map/reduce作業)將它們的輸出記錄到HDFS上的不同文件中,具體取決於密鑰來他們進行處理。因此,如果reducer看到說A類型的鍵,則應用reduce邏輯,但是告訴Hadoop將結果放入屬於類型A結果的hdfs文件中,依此類推。很明顯,多個減速器可以輸出A型結果的不同部分,每個減速器最終可以處理任何類型的A或B,但告訴Hadoop將結果寫入A型桶或其他東西控制Reducer結果輸出文件/桶

這可能嗎?

回答

1

MultipleOutputs幾乎是你正在尋找的(假設你至少在0.21版本)。在我自己的工作中,我使用了這個類的一個克隆,它被修改爲更靈活的命名約定,以根據我想要的任何內容將輸出發送到不同的文件夾/文件,包括輸入記錄(鍵或值)的各個方面。正因爲如此,這個班級對你輸出的名字有着嚴格的限制。

+0

這個的任何線索? http://stackoverflow.com/questions/11237797/control-the-multipleoutputformat-files-sub-path – iCode