我有一个map / reduce作业,我想跟踪该作业的map阶段中处理的记录数。为此,我在 map 阶段使用了自定义计数器,并将它们加1。另外,我每30秒监视一次这些计数器。
但是,当我使用Job Client检查作业计数器的进度时,我查看的是处理的记录数甚至不是每个周期性间隔。有时,没有变化,有时却没有。
context.getCounter(ApplicationCounters.TOTAL_NUMRECORDS_PROCESSEDBY_MAP)
.increment(1);
我的hadoop群集心跳间隔为15秒。这并不意味着,我应该定期进行定期更新。
最佳答案
确保您的工作已完成,建议使用waitForCompletion。在运行时查询计数器可能会导致奇怪的结果。
The counters are globally aggregated by the framework at the end of the job.
关于hadoop - Hadoop Map/Reduce作业进度计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22984132/