我注意到通常当 hadoop 集群不忙时,在 map 端完全完成之前,reduce 端开始进行?这怎么可能?我记得在某处读到减少进度指示器有点误导,但记不清了。有人可以阐明这一点吗?
最佳答案
33 1/3% 的任何 reduce 任务进度指示器正在复制映射输出。 (另外 33 1/3% 正在对它们进行排序,最后 33 1/3% 构成实际调用 reduce() 方法。)映射器一直在完成,并且您配置的尽可能多的 reduce 任务会在这些输出准备就绪后立即拉取这些输出,因此最多 2/3 第一轮的 reduce 阶段将在任何 reduce() 调用发生之前完成。
关于hadoop - map reduce 框架如何确定在 map 完全完成之前运行 reduce?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10713313/