java—如何知道每次hadoop中任务的处理速度

dgjrabp2  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(289)

当我运行hadoop程序时,我想知道每次运行的速度。我怎么知道速度,比如完成10%的工作后?

sycxhyv7

sycxhyv71#

监视hadoop作业的进度非常有意义,因为它们是长时间运行的作业(有时需要几天才能完成)。有意义的进度更新有助于用户判断作业是否正常运行,或者是否由于hadoop堆栈中的某些错误而卡住。
根据hadoop权威指南,
测量hadoop作业的进度可以分为两个阶段:map阶段和reduce阶段(惊喜!!!)。测量map阶段的进度相对容易。在开始时,输入数据被分割成块,并为每个块生成一个Map任务。只需监视完成了多少map阶段,就可以更新map阶段的进度。
reduce阶段有些棘手。reduce任务有三个阶段,即复制、排序和reduce。这三个阶段用于监控reduce阶段的进度。例如,如果在一个特定的reduce任务中,“reduce”部分完成了一半,那么我们说这个reduce任务完成了5/6(1/3拷贝+1/3排序+1/6减少=5/6)。
希望这有帮助。

相关问题