我正在尝试在Reducer中使用MultipleOutputs,以便使用分区程序写入多个文件。为此,我试图在Reducer.setup()中使用如下构造其对象:
public static class MOReduce extends Reducer<Text, Integer, Text, Integer> {
private MultipleOutputs mos;
public void setup( Reducer.Context context ) {
mos = new MultipleOutputs( context.getConfiguration() );
}
但由于以下原因我面临问题:
那么,您能否建议我如何解决此问题并实例化MultipleOutputs对象。
答案 0 :(得分:0)
看看这个Multiple Output in Reducer
hadoop中有两个API可用于创建和管理mapreduce作业。一个是JobConf
,一个是Job
。您似乎正在使用Job
。对于您的情况,如上面的链接,您需要创建自己的RecordWriter
类和OutputFormat
类。使用RecordWriter
,您可以控制要写入的文件和时间。