首页 > 解决方案 > 批处理中的加入与减少

问题描述

就批处理而言,Join 和 Reduce 之间的主要区别是什么?

标签: joinmapreducebatch-processingdistributed-computingdistributed-system

解决方案


join 将等到所有任务完成(需要合并),但 reduce 不会等待。

在此处输入图像描述

然而,与上图描述的连接模式相比,reduce 的目标不是等到所有数据都处理完毕,而是乐观地将所有并行数据项合并在一起,形成一个完整集合的单一综合表示。

这与 join 模式形成鲜明对比,因为与 join 不同,这意味着 reduce 可以并行启动,同时作为 map/shard 阶段的一部分仍在进行处理。当然,为了产生完整的输出,最终必须处理所有数据,但是尽早开始的能力意味着批处理计算总体上执行得更快。


推荐阅读