2011-09-23 67 views
1

似乎它在Hadoopreference)支持,但我不知道如何使用它。hadoop:支持Map Reduce作業的多個輸出

我想:

a.) Map - Read a huge XML file and load the relevant data and pass on to reduce 
b.) Reduce - write two .sql files for different tables 

爲什麼我選擇的map/reduce是因爲我要爲居住在ondisk XML 100k(may be many more)文件做到這一點。歡迎任何更好的建議

任何資源/教程解釋如何使用此讚賞。

我使用Python和想學習如何做到這一點使用streaming

謝謝

+0

那麼......你的問題是什麼?你可以說得更詳細點嗎? –

+0

如何使用流式API爲地圖/縮減作業編寫多個輸出 – daydreamer

回答

0

可能不是一個完美的解決方案,但你可以創建兩個模板的reduce任務的輸出轉換在作業完成後轉換爲所需的格式。可以通過編寫一個shell腳本來實現自動化,該shell腳本將查找reduce輸出並在其上應用模板。使用shell腳本,轉換將按順序進行,並且不會處理羣集中的n臺機器。

或者在reduce任務中,您可以使用分隔符將兩種輸出格式創建爲帶有一些分隔符的單個文件,然後再將其拆分。在這種方法中,由於轉換髮生在reduce中,轉換分佈在集羣中的所有節點上。