2015-06-06 72 views
0

如果存在仅包含映射且没有reduce的作业,并且要处理的所有数据值都映射到单个键,那么该作业是否只能在单个节点上处理?Hadoop映射进程

回答

0

直接来自Hadoop权威指南,第6章剖析Map减少作业运行。

“创建任务运行列表中,作业调度器首先检索 从共享文件系统由客户端计算的输入分裂。它 然后为每个分割创建一个地图的任务。reduce任务的数量 创建的数据由 作业中的mapred.reduce.tasks属性确定,该作业由setNumReduceTasks()方法设置,而调度程序 仅创建此数量的要执行的reduce任务,任务给出为 此处的ID点。”

1

第 基本上,节点的数量将由映射器的数量决定。 1个映射器将在1个节点上运行,N个节点上映射N个映射器,每个映射器有一个节点。 您的工作所需的映射器数量将由Hadoop设置,具体取决于数据量以及您的数据将被拆分的块的大小。每个数据块将由1个映射器处理。 因此,例如,如果您有大量的数据,将其分成N个块,则需要N个映射器来处理它。

+0

正确,但许多映射器可以在同一个节点上运行(可配置的编号) – vefthym