hadoop - map reduce 框架如何确定在 map 完全完成之前运行 reduce?

标签 hadoop mapreduce

我注意到通常当 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/

相关文章:

java - sqoop import-all-tables slow 和 sequence files 是自定义 java objects

java - 使用默认示例在 mac osx 上运行 hadoop 的问题

hadoop - 如何在 Reducer 的 close 方法中发出

java - 将动态值传递给 MapReduce 中的分区程序代码

hadoop - 哪个进程/任务负责数据 block 复制?

hadoop - 通过独特的技术将数据摄取到 HDFS

hadoop - 启用安全性的 Hive 创建权限

hadoop - 使用列值使用Apache Pig从其他数据集中获取数据(数据转置的种类)

hadoop - Hadoop DistributedCache类路径解析

hadoop - 如何在Java中使用MapReduce找出hadoop中的双字计数