Map Reducer的最终输出是各个Reducers输出的组合。
例如,如果我们有3个减速器给出不同的输出。然后Map Reduce的最终输出将是所有3个减速器输出的组合。 这是真的吗?
答案 0 :(得分:0)
为了回答这个问题,我将举一个用于计算/估计PI数值的MapReduce算法的例子。
假设在1个单位的正方形内有一个圆圈。
map / reduce程序使用准蒙特卡罗方法估计pi的值。
Mapper 和 Reducer 之间的任务定义如下:
Mapper:
减速机:
由于正方形的边是1个单位,因此圆的面积和正方形的面积将是PI / 4个单位(使用面积= PI * r * r)和1个单位(使用面积= a * a)分别
设numTotal = numInside(圆圈内的点数)+ numOutside(圆圈外的点数)。
(圆的面积)/(正方形的面积)= numInside / numTotal(因为圆圈刻在正方形内)。
因此,numInside / numTotal = PI / 4
因此,PI = 4 * numInside / numTotal
的值由于许多减速器可能负责积累由映射器产生的内部/外部点,因此它们的工作是加性,因此输出是所涉及的所有减速器的组合。