2014-10-13 3 views
6

Ich brauche die ID der aktuellen Aufgabe in Spark. Ich habe in Google und in der offiziellen API gesucht, aber die einzigen IDs, die ich finden kann, sind die Executor-ID und die ID der RDD. Kann jemand die eindeutige ID einer Aufgabe erhalten? Ich habe gesehen, dass die Klasse TaskInfo genau das hat, wonach ich suche, aber ich weiß nicht, wie man eine Instanz dieser Klasse bekommt.Aktuelle Task-ID in Spark in Java abrufen

Antwort

5

Um die spezifische Aufgabe ID erhalten Sie die TaskContext verwenden können:

import org.apache.spark.TaskContext; 

textFile.map(x -> { 
    TaskContext tc = TaskContext.get(); 
    System.out.println(tc.taskAttemptId()); 
}); 

Beachten Sie, dass die spezifische println auf dem Knoten gedruckt wird es gerade ausgeführt wird, und nicht der Konsolentreiber.