当我运行hadoop程序时,我想知道每次运行的速度。我怎么知道速度,比如完成10%的工作后?
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)。希望这有帮助。
1条答案
按热度按时间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)。
希望这有帮助。