2016-05-16 5 views
1

Ich habe einen Workflow mit einem Sub-Workflow. Der "Haupt" -Workflow prüft die Dateigröße eines Verzeichnisses und wenn die Größe größer als ein Triggerwert ist, wird der Sub-Workflow gestartet.Finde die Zeit der letzten Ausführung des Workflows in oozie

Jetzt brauche ich einen zusätzlichen Trigger: die Zeit von der aktuellen Ausführung des Hauptworkflows und den Zeitstempel der letzten Ausführung des Subworkflows. Im Moment sehe ich nur die Möglichkeit, einen Zeitstempel in die hdfs-Datei oder die Hive-Tabelle zu schreiben oder die Ausgabe der Oozie-Befehlszeilenschnittstelle zu verändern.

Kennt jemand eine elegantere Möglichkeit, dies innerhalb des Oozie-Workflows oder der Eigenschaftendateien zu lösen?

+0

Zusätzliche nicht-elegante Optionen: Mangelnde Ausgabe von Oozie REST API; Abfragen des zugrunde liegenden Metasters in SQL * (yuck) *. –

+0

Da ich keine elegantere Lösung gefunden habe, verwende ich diese als Lösung: 'oozie jobs -oozie $ {OOZIE_HOST}/oozie -localtime -len 1 -filtername = $ {WORKFLOW} | grep $ {WORKFLOW} | rev | Schnitt -c -25 | rev | sed -e 's/[^ 0-9] // g'' .. Wenn etwas schief geht oder der Workflow nicht gefunden wird, ist das Ergebnis null, was im Moment in Ordnung ist –

Antwort

0

Da ich keine elegantere Lösung gefunden habe, verwende ich diese als Lösung: oozie jobs -oozie $ {OOZIE_HOST}/oozie -localtime -len 1 -filtername = $ {WORKFLOW} | grep $ {WORKFLOW} | rev | Schnitt -c -25 | rev | sed -e 's/[^ 0-9] // g' .. Wenn etwas schief geht oder der Workflow nicht gefunden wird, ist das Ergebnis Null, was ok ist