我有一個代碼用於使用org.apache.hadoop.mapreduce.lib.output.MultipleOutputs
來編寫多個輸出。徹底取消默認輸出目錄 - MapReduce
Reducer將結果寫入預先創建的位置,因此我不需要默認的o/p目錄(其中包含_history
和_SUCCESS
目錄)。
我必須在每次再次運行我的工作前刪除它們。
所以我刪除了TextOutputFormat.setOutputPath(job1,new Path(outputPath));
一行。有
if(condition1)
mos.write("path1", key, new LongWritable(value), path_list[0]);
else
mos.write("path2", key, new LongWritable(value), path_list[1]);
是,一個解決辦法,以避免指定一個默認的輸出目錄:但是,這給了我 (預期)錯誤
驅動程序類:
MultipleOutputs.addNamedOutput(job1, "path1", TextOutputFormat.class, Text.class,LongWritable.class);
MultipleOutputs.addNamedOutput(job1, "path2", TextOutputFormat.class, Text.class,LongWritable.class);
LazyOutputFormat.setOutputFormatClass(job1,TextOutputFormat.class);
減速類?
我使用CDH4。這就是我目前所做的。我只是想知道是否有辦法調整它不寫。 –