在Hadoop中链接仅限Reduce的作业



我正在Hadoop 2.2.0中使用ControlledJobs实现MR作业链。基本模式是:

mapper1 -> reducer1 -> mapper2 -> reducer2

但是,mapper2就是身份。有没有一种方法可以让reducer1生成键值对并将其传递给reducer2?

现在,两轮的作业输出配置如下:

// set intermediate/mapper output
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
// set reducer output
job.setOutputKeyClass(NullWritable.class);
job.setOutputValueClass(Text.class);

据我所知,身份映射器仍然是一个映射器,你不能绕过它。然而,我相信在某些情况下,你可以将mapper 1、reducer1和reducer2重构为一个作业,这样它就会变成:mapper 1->reducer1。这完全取决于您的用例以及您试图在这里减少(两次(的数据。

相关内容

  • 没有找到相关文章

最新更新