1

如果我进入任务跟踪器并查看正在运行的作业,我可以轻松查看正在运行/已完成/失败/已终止的任务尝试,并深入了解有关每个任务的更多信息。

我也希望能够以编程方式访问这些信息,但是JobClient类似乎没有任何方法可以直接访问这些信息。JobClient.getMapTaskReports() 和 JobClient.getReduceTaskReports() 函数返回的TaskReport类似乎最接近,但这似乎只包含有关正在运行或已完成的任务尝试的信息。有没有办法访问有关给定任务的所有任务尝试的信息?

4

1 回答 1

1

可能有更好的方法,但这是我能想到的:

使用以下 RunningJob 方法获取 TaskAttemptID列表

 TaskCompletionEvent[] getTaskCompletionEvents(int startFrom)

然后,从TaskCompletionEvent的以下方法获取每个任务的状态:

TaskCompletionEvent.Status getTaskStatus()
于 2013-10-23T20:51:53.377 回答