Hadoop JobHistoryServer中映射时间或缩短时间的含义
我想知道下图中符号的确切含义。此图片来自Hadoop JobHistoryServer中映射时间或缩短时间的含义,hadoop,Hadoop,我想知道下图中符号的确切含义。此图片来自job history serverweb用户界面。我当然知道逝去的意义,但我不确定其他事情。我在哪里可以找到这些的明确定义?还是有人知道这些的含义 我想知道的是分别映射时间、减少时间、洗牌时间和合并时间。这四个时间的总和应该与经过的时间非常相似(或相等)。但是“平均”这个关键词让我感到困惑 共有396个map和1个reduce。您可能已经知道,MapReduce作业分为三个阶段: Map是第一阶段,每个Map任务都有一个输入分割,这是总输入数据的一小
job history server
web用户界面。我当然知道逝去的意义,但我不确定其他事情。我在哪里可以找到这些的明确定义?还是有人知道这些的含义
我想知道的是分别映射时间、减少时间、洗牌时间和合并时间。这四个时间的总和应该与经过的时间非常相似(或相等)。但是“平均”这个关键词让我感到困惑
共有396个map和1个reduce。您可能已经知道,MapReduce作业分为三个阶段:
- Map是第一阶段,每个Map任务都有一个输入分割,这是总输入数据的一小部分。Map任务处理来自输入拆分和输出中间数据的数据,这些数据需要转到还原器
- Shuffle阶段是下一步,映射任务生成的中间数据被定向到正确的还原器。还原程序通常处理映射任务生成的密钥总数的一个子集。洗牌阶段将密钥分配给还原器,并将与密钥相关的所有值发送给分配的还原器。排序(或合并)也是该阶段的一部分,在该阶段中,对给定键的值进行排序并发送到减速机。正如您可能意识到的那样,洗牌阶段涉及从Map->Reduce任务跨网络传输数据
- Reduce是MapReduce作业的最后一步。Reduce任务处理与键相关的所有值,并将其结果输出到所需位置(HDFS/Hive/Hbase)
Average Map Time=所有Map任务占用的总时间/Map任务数
同样地
Average Reduce Time=所有Reduce任务花费的总时间/Reduce任务数
现在,为什么平均时间很重要?这是因为,大多数(如果不是所有的话)map任务和reduce任务将并行运行(取决于集群容量/每个节点的插槽数量等)。因此,计算所有map任务和reduce任务的平均时间将使您能够很好地了解map或reduce阶段作为一个整体的完成时间
从你的截图中观察到的另一个现象是你的洗牌阶段花了40分钟。这可能有几个原因
希望这有帮助。也许
为您设置hive.hadoop.supports.splittable.combineinputformat=true
谢谢你的回答,它非常有用。我有一个类似的问题,洗牌阶段持续时间太长,并使用单一的减速器。请您确认我可以相信您的答案,即问题是由于还原器数量较少造成的?是否确实可以说,发出的贴图键数量越多,洗牌时间越长?例如,发射100K关键点的映射器与发射10k关键点的映射器相比,后者的映射器速度会快X%?