hadoop - MapReduce主流程如何决定将哪个任务分配给单个工作流程?

标签 hadoop mapreduce distributed-computing

这个问题不会讨论Hadoop或Spark中的特定情况。

当我读MapReduce: Simplified Data Processing on Large Clusters时,我很困惑

The master picks idle workers and assigns each one a map task or a reduce task.



那么,主服务器如何决定一个 worker 应该执行Map任务还是Reduce任务?
如果只先分配 reduce task ,我们将永远不会完成工作吗? (因为将不会完成Map任务)

最佳答案

只有在完成 map 和混洗阶段所需的数据之后,才需要运行Reduce。

在MapReduce的Hadoop实现的上下文中, map task 是根据数据局部性决定的,否则,将选择由YARN决定的任何开放资源

关于hadoop - MapReduce主流程如何决定将哪个任务分配给单个工作流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59597782/

相关文章:

hadoop - 使用Sequencefile的Hadoop流非常慢

parallel-processing - go是使用共享内存还是分布式计算

java - 通过故障转移使长时间运行的任务仅在集群的一台机器上运行?

algorithm - 为什么或者为什么不在 Raft 实现中使用 RequestVote RPC 作为心跳?

bash - 使用 Amazon MapReduce/Hadoop 进行图像处理

java - Hadoop - 每个节点的字数

java - Hadoop 映射减少 : Algorithms

MongoDB : Is there a way to detect a value trend using aggregation?

java - 找不到 Hadoop Java 类

azure - HIVE 和 Parquet 文件