Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hadoop-权威指南-为什么hdfs中的块这么大_Hadoop_Mapreduce - Fatal编程技术网

hadoop-权威指南-为什么hdfs中的块这么大

hadoop-权威指南-为什么hdfs中的块这么大,hadoop,mapreduce,Hadoop,Mapreduce,我遇到了权威指南(HDFS概念-块)中的以下段落,无法理解 MapReduce中的映射任务通常一次只在一个块上运行,因此如果任务太少(集群中的节点数不足),则作业的运行速度将低于其他情况。 我想知道,与集群中的节点总数相比,当任务很少时,作业的速度会慢多少。假设集群中有1000个节点和3个任务(按任务划分,每个任务块都被发送到单个任务的一个节点上),那么获得结果所需的时间将始终少于包含1000个节点和1000个任务的场景,对吗 《权威指南》中给出的段落让我无法信服。你在书中引用的段落基本上是说“

我遇到了权威指南(HDFS概念-块)中的以下段落,无法理解

MapReduce中的映射任务通常一次只在一个块上运行,因此如果任务太少(集群中的节点数不足),则作业的运行速度将低于其他情况。

我想知道,与集群中的节点总数相比,当任务很少时,作业的速度会慢多少。假设集群中有1000个节点和3个任务(按任务划分,每个任务块都被发送到单个任务的一个节点上),那么获得结果所需的时间将始终少于包含1000个节点和1000个任务的场景,对吗


《权威指南》中给出的段落让我无法信服。

你在书中引用的段落基本上是说“尽可能多地利用节点”。如果你有1000个节点,只有3个块或任务,那么只有3个节点在你的任务上运行,而所有其他997个节点对你的任务都不起作用。如果您有1000个节点和1000个任务,并且这1000个节点中的每个节点都有部分数据,那么所有1000个节点都将用于您的任务。您还可以利用数据局部性,因为每个节点将首先处理本地数据。

谢谢Celik,我了解节点的利用情况。但这和工作的缓慢有什么关系呢?一个工作由多个任务组成。每个作业的任务越多,利用节点越多。任务粒度越小,完成任务的时间就越平衡。其主要思想是在集群中拥有最少的空闲节点和最多的运行节点。