Video: Apache OOZIE | OOZIE in Hadoop | OOZIE Workflows | COSO IT 2024
Oozie-Workflows sind im Kern gerichtete Graphen, in denen Sie Aktionen (Hadoop-Anwendungen) und Datenfluss definieren können, ohne Schleifen - also können Sie t Definieren Sie eine Struktur, in der Sie eine bestimmte Operation immer wieder ausführen, bis eine Bedingung erfüllt ist (z. B. eine for-Schleife).
Oozie-Workflows sind sehr flexibel, da Sie zustandsbasierte Entscheidungen und gegabelte Pfade für die parallele Ausführung definieren können. Sie können auch eine Vielzahl von Aktionen ausführen.
In dieser Abbildung sehen Sie einen Workflow, der die grundlegenden Funktionen von Oozie-Workflows zeigt. Zuerst wird ein Pig-Skript ausgeführt, dem unmittelbar ein Entscheidungsbaum folgt. Abhängig vom Status der Ausgabe kann der Steuerungsfluss entweder direkt zu einer HDFS-Dateibearbeitung (Hadoop Distributed File System) (z. B. eine Operation "copyToLocal") oder zu einer Verzweigungsaktion (fork action) führen.
Wenn der Steuerungsfluss an die fork-Aktion übergeben wird, werden zwei Jobs gleichzeitig ausgeführt: ein MapReduce-Job und eine Hive-Abfrage. Der Kontrollfluss geht dann zur HDFS-Operation, sobald sowohl der MapReduce-Job als auch die Hive-Abfrage beendet sind. Nach der HDFS-Operation ist der Workflow abgeschlossen.
Oozie-Workflow-Definitionen sind in XML geschrieben und basieren auf dem HadoD-Prozessdefinitionssprache (hPDL) -Schema. Dieses spezielle Schema basiert wiederum auf dem XPDL-Schema (XML Process Definition Language), einem produktunabhängigen Standard für die Modellierung von Geschäftsprozessdefinitionen.
Ein Oozie-Workflow besteht aus einer Reihe von Aktionen, die von XML-Knoten codiert werden. Es gibt verschiedene Arten von Knoten, die verschiedene Arten von Aktionen oder Steuerfluss-Direktiven darstellen. Jeder Oozie-Workflow verfügt über eine eigene XML-Datei, in der jeder Knoten und seine Verbindungen definiert sind.
Workflow-Knoten benötigen alle eindeutige IDs, da sie verwendet werden, um den nächsten Knoten zu identifizieren, der im Workflow verarbeitet werden soll. Dies bedeutet, dass die Reihenfolge, in der die Aktionen ausgeführt werden, davon abhängt, wo der Knoten einer Aktion in der Workflow-XML angezeigt wird. Sehen Sie sich die folgende Liste an, die ein Beispiel für die grundlegende Struktur der XML-Datei eines Oozie-Workflows zeigt, um zu sehen, wie dieses Konzept aussehen würde.
… … "Erledigter Job."
In diesem Beispiel haben Sie neben den Start-, End- und Kill-Knoten zwei Aktionsknoten. Jeder Aktionsknoten repräsentiert eine Anwendung oder einen Befehl, der gerade ausgeführt wird.