gpt4 book ai didi

hadoop - hadoop Controller 如何计算完成工作的百分比?

转载 作者:可可西里 更新时间:2023-11-01 14:24:06 30 4
gpt4 key购买 nike

我看到每当我运行 Map Reduce 任务时,hadoop 作业都会向我显示 Map 和 Reduce 任务完成的百分比。

我知道映射器和缩减器都以分布式方式运行,并且可以向 Controller 报告它们已经处理了多少。

但是 Controller 如何知道要处理的数据总量呢?如果 Controller 试图计算出所有输入文件的大小,我认为这将是低效的。它是某种粗略的近似值吗?

Hadoop Dashboard

最佳答案

我没有阅读hadoop中与这部分相关的所有代码。不过有些想了想,希望对你有帮助

  1. map任务完成百分比计算:当一个slave机器完成一个map任务时,会通知master机器,这样方便master和controller知道map任务竞争百分比,但是如果进程被阻塞或被杀死,该进程完成的任务将被重新分配, map 完成值将在这种情况下减少。

  2. reduce任务完成百分比计算:reduce短语包括shuffle任务和reduce任务,shuffle任务在map任务完成度达到5%时开始,shuffle任务主要是从map任务输出目录复制数据。所以复制的数据似乎是洗牌部分的域因素,因为合并排序可以同时运行。在 reduce task 中,完成百分比可以很容易地通过处理“迭代器”的程度来计算。

ps: 正如 vehtfym 在评论中提到的:Reduce 阶段包括复制(完成 33%)、排序(完成 66%)和减少(完成 100%)

关于hadoop - hadoop Controller 如何计算完成工作的百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21720110/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com