【发布时间】:2013-07-18 02:48:18
【问题描述】:
我可以将多个映射器类设置为一个作业吗?
例如,我有一个来自 HDFS 的 csv 输入文件。我有两个任务要做。第一个是从 csv 输入文件中计算两个字段并将结果放入输出文件中。第二个是从同一个 csv 输入文件中计算另外两个字段并将结果放入另一个输出文件中。 Reducer 也一样。
我怎样才能只使用一项工作并同时处理它们呢? (我不想做第一个,然后在第一个完成后做第二个,我想让它们并行处理)。
我尝试以下代码:
job1.setMapperClass(Mapper1.class);
job1.setReducerClass(LogReducer.class);
job1.setMapperClass(Mapper2.class);
job1.setReducerClass(LogReducer.class);
我试过了,但是没用,它只显示第二个结果,第一个消失了。
【问题讨论】: