我可以将多个映射器类设置为一项工作吗?
例如,我有一个来自 HDFS 的 csv 输入文件。我有两个任务要做。第一个是从 csv 输入文件中计算两个字段并将结果放入输出文件中。第二个是从同一个 csv 输入文件中计算另外两个字段并将结果放入另一个输出文件中。减速机是一样的。
我怎么能仅使用一项工作来实现这一目标并使它们同时处理?(我不想做第一个,然后在第一个完成后做第二个,我想让它们并行处理)。
我尝试以下代码:
job1.setMapperClass(Mapper1.class);
job1.setReducerClass(LogReducer.class);
job1.setMapperClass(Mapper2.class);
job1.setReducerClass(LogReducer.class);
我尝试了它,但它不起作用,它只显示第二个结果,第一个结果消失了。