按顺序运行Hadoop映射器

时间:2014-02-10 02:06:55

标签: java hadoop mapreduce

我有多个映射器,Map 1和Map 2,我需要它以这种方式专门执行:Map1-> Map2-> Reducer。我该怎么办?非常感谢你!

1 个答案:

答案 0 :(得分:4)

请查看ChainMapper

http://hadoop.apache.org/docs/stable2/api/org/apache/hadoop/mapred/lib/ChainMapper.html

  

ChainMapper类允许在a中使用多个Mapper类   单个地图任务。

UPDATE OP担心地图不是连续的。事实并非如此 - 正如源代码注释和代码本身所证实的那样:

Mapper mapper = chain.getFirstMap();
if (mapper != null) {
  mapper.map(key, value, chain.getMapperCollector(0, output, reporter),
             reporter);
}