如果我进入任务跟踪器并查看正在运行的作业,我可以轻松查看正在运行/已完成/失败/已杀死的任务尝试,并深入了解每个任务。
我希望能够以编程方式访问此信息,但JobClient类似乎没有任何方法可以直接访问此信息。 JobClient.getMapTaskReports()和JobClient.getReduceTaskReports()函数返回的TaskReport类看起来最接近,但这似乎只有关于运行或完成任务尝试的信息。有没有办法访问有关给定任务的所有任务尝试的信息?
答案 0 :(得分:1)
可能有更好的方法,但这是我能想到的:
使用RunningJob的以下方法获取TaskAttemptID列表:
TaskCompletionEvent[] getTaskCompletionEvents(int startFrom)
然后,从TaskCompletionEvent的以下方法获取每个任务状态:
TaskCompletionEvent.Status getTaskStatus()