我最近不得不运行一项作业,要求所有映射器在将结果传递到组合阶段之前完成(由于处理文件的结构方式)。通过配置以下内容, reducer可以使用此功能-
// force 100% of the mappers to conclude before reducers start
job.set("mapred.reduce.slowstart.completed.maps", "1.0");
我找不到组合阶段的任何类似配置。最终,我将我的工作分成了 2 个部分,组合阶段充当减速器,而我原来的 reduce 传递给了工作 #2(mapper2 只是传递数据而无需修改它)。
我想知道 - 有没有一种我错过了在合并之前配置 100% 地图完成的方法?谢谢。