已经有很多这样的问题,答案相互矛盾。我还在文献和博客中发现了相互矛盾的陈述。在《Hadoop,权威指南》一书中,它说
Hadoop 不保证它会为特定的地图输出记录调用多少次[组合器](如果有的话)。换句话说,调用组合函数零次、一次或多次应该从减速器产生相同的输出
此处类似问题的答案基于什么基础 mapreduce 框架决定是否启动组合器建议组合器(如果已定义)将始终被调用一次,因为 MapOutputBuffer 需要被刷新。
可能存在映射器只发出一次的极端情况,这意味着即使定义了组合器,也不会运行。
我的问题是:这个问题的答案是否有明确的来源?当然,我已经搜索了 Hadoop 文档,但找不到任何东西。