Was ist der Unterschied zwischen Oozie Workflow, Koordinator und Bundle?
Oozie Workflow definiert eine Abfolge von Aktionen. Und wir müssen es jedes Mal manuell aufrufen, wenn wir es ausführen wollen. Wo derselbe Workflow über den Koordinator geplant werden kann. Ist dieses Verständnis korrekt?
Was ist dann extra im Bundle?
Ich schätze, es wird wieder verwendet, um Koordinatoren zu planen. Warum kann dann nicht ein Koordinator verwendet werden, um einen anderen Koordinator zu planen, wie ein Workflow einen anderen Sub-Workflow haben kann?
Workflow:
Es ist eine Abfolge von Aktionen. Es wird in XML geschrieben und die Aktionen können Map Reduce, Hive, Pig etc sein.
Koordinator:
Es ist ein Programm, das Aktionen auslöst (üblicherweise Workflow-Jobs), wenn eine Reihe von Bedingungen erfüllt sind. Bedingungen können eine Zeithäufigkeit, andere externe Ereignisse usw. sein.
Bündel:
Es wird als Oozie-Abstraktion auf höherer Ebene definiert, die eine Reihe von Koordinatorjobs stapelt. Wir können auch die Zeit für den Start des Paketjobs angeben.
Workflow verfügt nicht über Zeitangaben, um einen Hadoop-Job auszuführen. Koordinator Job haben die Zeitangaben über Job in coordinator.xml mit Frequenz-Tag. Collective-Koordinator-Jobs werden als Bündeljob betrachtet. Im Bundle-Job können einzelne Benutzer ihre eigenen Jobs mithilfe ihrer job.properties für ihre jeweiligen Jobs zuweisen.
Zu meinem Verständnis könnte die Verwendung von Bundle einige Koordinatoren gruppieren, so dass es besser ist zu managen, zu sehen, zu starten / zu stoppen ...
Wahrscheinlich haben wir zwei Datenpipelines, eine für die Protokollübergabe (Collect / Parse / ETL), eine für die Geschäftslogik.
Dann erstelle ich zwei Bündel, um die verschiedenen Arten von Koordinatoren zu gruppieren.
Tags und Links hadoop scheduler oozie oozie-coordinator