2016-11-07 1 views
0

Ich verwende die Dateiquellenstromkomponente, um Dateien aus einem Verzeichnis zu lesen und eine Dateiinstanz an einen benutzerdefinierten Prozessor zu senden, der die Datei liest und eine bestimmte Task mithilfe einer TaskLauncher-Senke startet. Wenn ich 5 Dateien im Verzeichnis lösche, werden 5 Aufgaben gleichzeitig gestartet. Was ich versuche zu erreichen, ist, dass jede Aufgabe nacheinander ausgeführt wird, also muss ich den Status der Aufgaben überwachen, um sicherzustellen, dass die vorherige Aufgabe abgeschlossen wurde, bevor eine andere Aufgabe gestartet wird. Was sind meine Möglichkeiten, dies zu implementieren? Als Randnotiz führe ich dies auf einem Yarn-Cluster.Eine Aufgabe auf einmal aus einem Stream starten

Danke,

-Frank

Antwort

0

denke ich asynchrone Aufgabe Starten durch das GARN TaskLauncher könnte der Grund sein, um es wie alle Aufgaben aussehen werden zur gleichen Zeit gestartet. Ein möglicher Ansatz, den Sie versuchen können, ist ein custom Taskstartprogramm sink, dass launches die Aufgabe und waits für den Task-Status completed sein, bevor es beginnt, die nächste Triggeranforderung zu verarbeiten.

+0

Können Sie auf einer höheren Ebene die Schritte beim Erstellen eines benutzerdefinierten Task Launcher erklären? Auch dies müsste mit dem YARN TaskLauncher interagieren. – franktylerva

Verwandte Themen