我需要在Spark中获取当前任务的ID。我一直在谷歌和官方API中搜索,但我能找到的唯一ID是执行者ID和RDD的ID。有谁知道如何获得任务的唯一ID?我已经看到类TaskInfo
正是我正在寻找的,但我不知道如何获得这个类的实例。
答案 0 :(得分:9)
要获取特定任务ID,您可以使用TaskContext:
import org.apache.spark.TaskContext;
textFile.map( x -> {
TaskContext tc = TaskContext.get();
System.out.println(tc.taskAttemptId());
});
请记住,特定的println将打印在当前执行的节点上,而不是驱动程序控制台。