我有一个mapreduce程序,我在每个映射器实例中处理1个文件 我现在没有减速机代码。
现在,我想要的是获取一些API来检查整个mapreduce工作的进度?
我在API中看到了mapprogress()
方法,但它提供了有关mapper的进度。我们能否全面了解整个工作?
编辑:我通过oozie工作流程触发了这个hadoop工作。是否有可能显示oozie或色调的整体进展?他们有一些API吗?
答案 0 :(得分:1)
map-reduce作业由两个阶段组成,即mapper阶段和reducer阶段。
reducer阶段依赖于mapper输出,因此除非完成mapper执行,否则无法跟踪reducer的进度。由于reducer阶段是依赖的,因此您无法事先获取reducer的进度(这是获取整个作业状态所必需的)。
而你可以做的是:
使用Job.mapProgress()
跟踪映射器任务进度。完成后,您可以使用Job.reduceProgress()
跟踪减速器进度(假设您有减速器),这最终与整个作业的进度相同。