【发布时间】:2016-05-10 19:10:17
【问题描述】:
我正在使用 ChainReducer 构建以下模式
Map1 --> Reduce --> Map2
我希望 Map2 步骤仅在 Reduce 步骤完成后开始。 hadoop map reduce中是否有一个属性来设置这个。
【问题讨论】:
我正在使用 ChainReducer 构建以下模式
Map1 --> Reduce --> Map2
我希望 Map2 步骤仅在 Reduce 步骤完成后开始。 hadoop map reduce中是否有一个属性来设置这个。
【问题讨论】:
你应该做的是:
ChainMapper.addMapper(generalConf, Map1.class, ..., new JobConf(false));
ChainReducer.setReducer(generalConf, Reduce.class, ..., new JobConf(false));
ChainReducer.addMapper(generalConf, Map2.class, ..., true, new JobConf(false));
// execute the job with generalConf
上面的代码将保证Map2的执行,只会在Reduce完成后开始。
【讨论】: