我有多个映射器,Map 1和Map 2,我需要它以这种方式专门执行:Map1-> Map2-> Reducer。我该怎么办?非常感谢你!
答案 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);
}