众所周知,许多地图都是许多地图任务。
MapReduce中的Map Map任务通常一次在一个块上运行。因此,如果我们的任务太少(集群中的节点少于),那么为什么作业运行速度会比其他情况慢?
答案 0 :(得分:2)
是的,你是对的。 Hadoop很难“缩小”超过作业占用的插槽少于集群中可用插槽的点。
例如,假设您有100个节点,每个节点有10个映射槽。这意味着你有1000个地图插槽。想象一个块需要1分钟来处理地图任务。如果你的工作只有5个街区,那么这项工作大约需要1分钟。如果你有20个街区的工作,这项工作将需要约1分钟。如果你有一个1000块的工作,这个工作将需要约1分钟。如果你有一个2000块的工作,那将需要大约2分钟。
您可以使用较小的块大小来更好地分解问题,但这需要权衡您在更大的工作上会有更多的开销。