我从权威指南(HDFS概念-块)中看到了以下段落,但我无法理解。
映射任务在MapReduce中通常一次运行在一个块上,所以如果任务太少(比集群中的节点少),作业的运行速度将比其他任务慢。
当任务较少时,与集群中的节点总数相比,我想知道作业将如何变慢。假设集群中有1000个节点和3个任务(根据任务,当每个块被发送到一个节点以完成单个任务时),获得结果所需的时间总是少于假设有1000个节点和1000个任务的场景,对吗?
我无法相信指南中给出的段落。
发布于 2017-04-10 05:57:52
你从书中引用的段落基本上是“尽可能多地利用节点”。如果您有1000个节点,并且只有3个块或任务,那么在您的任务上只运行3个节点,而所有其他997个节点都不会对您的任务进行任何操作。如果您有1000个节点和1000个任务,并且这1000个节点中的每个节点都有一部分数据,那么所有1000个节点都将被用于您的任务。您还可以利用数据局部性,因为每个节点都将首先处理本地数据。
https://stackoverflow.com/questions/43313067
复制相似问题