2013-05-19 15 views
0

我是Hadoop的新手,現在必須處理輸入文件。我想處理每一行,輸出應該是每行一個文件。如何在hadoop中獲得多個輸出

我在網上衝浪,找到了MultipleOutputFormat和generateFileNameForKeyValue。

但是大多數人使用JobConf類編寫它。當我使用Hadoop 0.20.1時,我認爲Job類就會發生。而且我不知道如何使用Job類通過鍵生成多個輸出文件。

任何人都可以幫助我嗎?

+0

您是否修復了您的Hadoop版本?對於新的mapreduce api包,0.20.1沒有移植版本的MultipleOutput。如果可能,升級到最新的1.x版本? –

+0

我正在使用hadoop eclipse插件0.20.1。我不知道有1/x版本。你能給我1.x的地址嗎? –

+0

你的目標羣集運行的是什麼(或者你使用Eclipse在本地模式下運行?) –

回答

0

Eclipse插件主要用於提交和監控作業以及與HDFS交互,與真實或「僞造」集羣進行交互。

如果你在本地模式下運行,那麼我不認爲這個插件會帶給你什麼 - 看到你的工作將在單個JVM中運行。考慮到這一點,我會說在您的Eclipse項目的類路徑中包含最新的1.x hadoop-core。

Eitherway MultipleOutputFormat還沒有被移植到新的MapReduce包(無論是在1.1.2或2.0.4-α),所以你要麼需要將它移植自己或另謀出路(也許MultipleOutputs - 該Javadoc page has some usage on using MultipleOutputs