2011-11-29 72 views
0

我想在java中編寫一個hadoop mapreduce程序。輸入是一個數組,輸出也是一個數組。但直到現在,我只看到人們使用輸入和輸出作爲它的文件。所以我只是想知道,如果mapreduce可以有任何其他輸入和輸出格式。hadoop的輸入和輸出可以不是文件嗎?

謝謝

+1

???文件實際上是二進制數據的任意數組。你還在找什麼? –

回答

1

Hadoop支持各種各樣的輸入和輸出格式。檢查InputFormatOutputFormat的子類。如果需要任何自定義格式,請擴展InputFormat和OutputFormat。在DB輸入/輸出格式上檢查Cloudera的article

0

Hadoop是一個文件系統,map-reduce的重點是處理大量通常不適合內存的數據 - 所以輸入和輸出通常會以某種方式存儲在磁盤上(也稱爲a.a.文件)。 Hadoop mapreduce類支持讀取hadoop支持的不同類型的文件(文本文件,順序文件),您也可以編寫自己的源文件,例如讀取其文件格式的HBase comes with a map-reduce wrappe。我還沒有嘗試過,但正如Praveen指出的文章所示,從其他來源讀取

輸出更容易 - 因爲您正在編寫Java代碼,因此如果您在縮小階段就可以執行任何操作想要說的是,在縮小階段中將消息放入隊列中就是這樣做的