我完全和hadoop API混淆。 (猜它時刻都在變化)Hadoop API:Reducer的OutputFormat
如果我沒看錯的,JobConf
是deprecated
和我們應該使用Job
和Configuration
類,而不是運行圖從Java減少工作。它似乎雖然在最近發佈hadoop 1.0.0
JobConf
不再棄用!
所以我使用作業和配置類來運行地圖縮減作業。現在,我需要將減速器輸出文件放入文件夾結構中,該文件夾基於某些值,這些值是我的地圖輸出的一部分。我通過幾篇文章去,發現一個可以實現與一OutputFormat
類,但我們有這個類兩種封裝:
org.apache.hadoop.mapred and
org.apache.hadoop.mapreduce
在我們job
對象,我們可以設置輸出格式類爲:
job.setOutputFormatClass(SomeOutputFormat.class);
現在,如果SomeOutputFormat
extends
說org.apache.hadoop.mapreduce.lib.output.FileOutputFormat
,我們得到一個名爲getRecordWriter();
的方法,這不會幫助以任何方式覆蓋輸出路徑。
還有另外一種方法,使用jobConf
,但對於設置mappers, reducers, partitions, sorting and grouping
類似乎不起作用。
有什麼非常明顯的,我失蹤?我想在一個基於值的文件夾中編寫減少輸出文件。例如,SomeOutputPrefix/Value1/Value2/realReduceFileName
謝謝!
謝謝DNNX。是在這些線上,但想看看是否有其他更簡單的方法來做到這一點。似乎這是做到這一點的方法。不得不調整我的分區邏輯,以便與記錄寫作者正常工作。它的工作。 – 2012-02-20 01:50:37