我是Hadoop的新手。我记得我从某个地方学到了在Hadoop中,所有地图函数都必须在reduce函数开始之前完成。
但是当我运行这样的地图缩减程序时,我才得到了打印输出:
map(15%), reduce(5%)
map(20%), reduce(7%)
map(30%), reduce(10%)
map(38%), reduce(17%)
map(40%), reduce(25%)
为什么他们并行运行?
答案 0 :(得分:5)
在实际减少阶段开始之前,随机,排序和合并会在Mappers继续完成时发生。这个百分比表示。这不是实际的减少阶段。这是并行发生的,以减少开销,否则如果框架一直等待所有Mapper完成然后进行Shuffling,Sorting和Merging,就会产生开销。