Я использую ChainReducer для создания следующего шаблона
Map1 --> Reduce --> Map2
Я хочу, чтобы шаг Map2 начинался только после завершения шага сокращения. Есть ли свойство в карте hadoop, чтобы установить это.
Я использую ChainReducer для создания следующего шаблона
Map1 --> Reduce --> Map2
Я хочу, чтобы шаг Map2 начинался только после завершения шага сокращения. Есть ли свойство в карте hadoop, чтобы установить это.
Вам следует сделать следующее:
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
.