Pipelines orchestrieren

Auf dieser Seite wird die Pipeline-Orchestrierung mit Cloud Composer und Triggern erläutert. Für Cloud Data Fusion wird die Verwendung von Cloud Composer zum Orchestrating von Pipelines empfohlen. Wenn Sie die Orchestrierung einfacher verwalten möchten, verwenden Sie Trigger.

Composer

Pipelines mit Cloud Composer orchestrieren

Die Pipelineausführung in Cloud Data Fusion mit Cloud Composer zu orchestrieren, bietet folgende Vorteile:

  • Zentrale Workflowverwaltung:Sie können die Ausführung mehrerer Cloud Data Fusion-Pipelines einheitlich verwalten.
  • Abhängigkeitsverwaltung:Um die richtige Ausführungsreihenfolge zu gewährleisten, definieren Sie Abhängigkeiten zwischen Pipelines.
  • Monitoring und Benachrichtigungen:Cloud Composer bietet Monitoringfunktionen und Benachrichtigungen bei Fehlern.
  • Einbindung in andere Dienste:Mit Cloud Composer können Sie Workflows orchestrieren, die sich über Cloud Data Fusion und andereGoogle Cloud Dienste erstrecken.

So orchestrieren Sie Cloud Data Fusion-Pipelines mit Cloud Composer:

  1. Richten Sie die Cloud Composer-Umgebung ein.

    • Erstellen Sie eine Cloud Composer-Umgebung. Wenn Sie noch keine haben, stellen Sie die Umgebung in Ihrem Google Cloud Projekt bereit. Diese Umgebung ist Ihr Orchestration-Arbeitsbereich.
    • Erteilen Sie Berechtigungen. Das Cloud Composer-Dienstkonto muss die erforderlichen Berechtigungen für den Zugriff auf Cloud Data Fusion haben, z. B. die Berechtigung zum Starten, Stoppen und Auflisten von Pipelines.
  2. Definieren Sie gerichtete azyklische Graphen (Directed Acyclic Graphs, DAG) für die Orchestrierung.

    • DAG erstellen:Erstellen Sie in Cloud Composer einen DAG, der den Orchestration-Workflow für Ihre Cloud Data Fusion-Pipelines definiert.
    • Cloud Data Fusion-Operatoren:Verwenden Sie die Cloud Data Fusion-Operatoren von Cloud Composer in Ihrer DAG. Mit diesen Operatoren können Sie programmatisch mit Cloud Data Fusion interagieren.

Cloud Data Fusion-Operatoren

Die Cloud Data Fusion-Pipeline-Orchestrierung bietet die folgenden Operatoren:

CloudDataFusionStartPipelineOperator

Löst die Ausführung einer Cloud Data Fusion-Pipeline anhand ihrer ID aus. Sie hat folgende Parameter:

  • Pipeline-ID
  • Standort (Google Cloud Region)
  • Pipeline-Namespace
  • Laufzeitargumente (optional)
  • Auf Abschluss warten (optional)
  • Zeitüberschreitung (optional)
CloudDataFusionStopPipelineOperator

Hiermit können Sie eine laufende Cloud Data Fusion-Pipeline beenden.

CloudDataFusionDeletePipelineOperator

Löscht eine Cloud Data Fusion-Pipeline.

DAG-Workflow erstellen

Beachten Sie beim Erstellen des DAG-Workflows Folgendes:

  • Abhängigkeiten definieren:Mit der DAG-Struktur können Sie Abhängigkeiten zwischen Aufgaben definieren. Beispiel: Sie haben eine Aufgabe, die darauf wartet, dass eine Pipeline in einem Namespace erfolgreich abgeschlossen wird, bevor eine andere Pipeline in einem anderen Namespace ausgelöst wird.
  • Planung:Sie können den DAG so planen, dass er in bestimmten Intervallen ausgeführt wird, z. B. täglich oder stündlich, oder ihn manuell auslösen.

Weitere Informationen finden Sie in der Cloud Composer-Übersicht.

Trigger

Pipelines mit Triggern orchestrieren

Mit Cloud Data Fusion-Triggern können Sie eine nachgelagerte Pipeline automatisch ausführen, wenn eine oder mehrere vorgelagerte Pipelines abgeschlossen wurden (Erfolg, Fehler oder eine beliebige angegebene Bedingung).

Trigger eignen sich für die folgenden Aufgaben:

  • Bereinigen Ihrer Daten und für mehrere nachgelagerte Pipelines zur Verwendung zur Verfügung stellen.
  • Informationen wie Laufzeitargumente und Plug-in-Konfigurationen zwischen Pipelines freigeben. Diese Aufgabe wird als Nutzlastkonfiguration bezeichnet.
  • Sie haben eine Reihe dynamischer Pipelines, die mit den Daten von Stunde, Tag, Woche oder Monat ausgeführt werden können, anstelle einer statischen Pipeline, die bei jeder Ausführung aktualisiert werden muss.

Angenommen, Sie haben einen Datensatz mit allen Informationen zu den Lieferungen Ihres Unternehmens. Anhand dieser Daten möchten Sie einige geschäftliche Fragen beantworten. Dazu erstellen Sie eine Pipeline, die die Rohdaten zu Sendungen bereinigt. Sie heißt Shipments Data Cleaning (Datenbereinigung für Sendungen). Anschließend erstellen Sie eine zweite Pipeline, Delayed Shipments USA, die die bereinigten Daten liest und die Lieferungen innerhalb der USA findet, die um mehr als einen bestimmten Schwellenwert verzögert wurden. Die Pipeline Verspätete Sendungen – USA kann ausgelöst werden, sobald die vorgelagerte Pipeline Bereinigung der Versanddaten erfolgreich abgeschlossen wurde.

Da die Ausgabe der vorgelagerten Pipeline von der nachgelagerten Pipeline verwendet wird, müssen Sie außerdem angeben, dass die nachgelagerte Pipeline bei der Ausführung mit diesem Trigger auch das Eingabeverzeichnis erhält, aus dem gelesen werden soll. Das ist das Verzeichnis, in dem die vorgelagerte Pipeline die Ausgabe generiert hat. Dieser Vorgang wird als Übergeben der Nutzlastkonfiguration bezeichnet und wird mithilfe von Laufzeitargumenten definiert. Sie können eine Reihe dynamischer Pipelines haben, die mit den Daten der Stunde, des Tages, der Woche oder des Monats ausgeführt werden, und keine statische Pipeline, die bei jeder Ausführung aktualisiert werden muss.

So orchestrieren Sie Pipelines mit Triggern:

  1. Erstellen Sie vorgelagerte und nachgelagerte Pipelines.

    • Entwerfen und implementieren Sie in Cloud Data Fusion Studio die Pipelines, die Ihre Orchestrationskette bilden.
    • Überlegen Sie, durch den Abschluss welcher Pipeline die nächste Pipeline (Downstream) in Ihrem Workflow aktiviert wird.
  2. Optional: Laufzeitargumente für vorgelagerte Pipelines übergeben

    • Wenn Sie die Nutzlastkonfiguration als Laufzeitargumente zwischen Pipelines übergeben möchten, konfigurieren Sie die Laufzeitargumente. Diese Argumente können während der Ausführung an die nachgelagerte Pipeline übergeben werden.
  3. Erstellen Sie einen eingehenden Trigger in der nachgelagerten Pipeline.

    • Rufen Sie in Cloud Data Fusion Studio die Seite Liste auf. Klicken Sie auf dem Tab Bereitgestellt auf den Namen der nachgelagerten Pipeline. Die Bereitstellungsansicht für diese Pipeline wird angezeigt.
    • Klicken Sie in der Mitte der linken Seite der Seite auf Eingehende Trigger. Eine Liste der verfügbaren Pipelines wird angezeigt.
    • Klicken Sie auf die vorgelagerte Pipeline. Wählen Sie einen oder mehrere Abschlussstatus der vorgelagerten Pipeline als Bedingung aus (Erfolgreich, Fehlgeschlagen oder Angehalten), für den Zeitpunkt, an dem die nachgelagerte Pipeline ausgeführt werden soll.
    • Wenn die vorgelagerte Pipeline Informationen (auch als Nutzlastkonfiguration bezeichnet) an die nachgelagerte Pipeline weitergeben soll, klicken Sie auf Triggerkonfiguration und folgen Sie den Schritten für das Übergeben der Nutzlastkonfiguration als Laufzeitargument. Klicken Sie andernfalls auf Trigger aktivieren.
  4. Testen Sie den Trigger.

    • Starten Sie eine Ausführung der vorgelagerten Pipeline.
    • Wenn der Trigger richtig konfiguriert ist, wird die nachgelagerte Pipeline nach Abschluss der vorgelagerten Pipelines automatisch ausgeführt, basierend auf der konfigurierten Bedingung.

Nutzlastkonfiguration als Laufzeitargumente übergeben

Die Nutzlastkonfiguration ermöglicht die Freigabe von Informationen von der vorgelagerten Pipeline an die nachgelagerte Pipeline. Diese Informationen können beispielsweise das Ausgabeverzeichnis, das Datenformat oder der Tag sein, an dem die Pipeline ausgeführt wurde. Diese Informationen werden dann von der nachgelagerten Pipeline für Entscheidungen verwendet, z. B. zum Bestimmen des richtigen Datasets, aus dem gelesen werden soll.

Wenn Sie Informationen von der vorgelagerten Pipeline an die nachgelagerte Pipeline weitergeben möchten, legen Sie die Laufzeitargumente der nachgelagerten Pipeline mit den Werten der Laufzeitargumente oder der Konfiguration eines beliebigen Plug-ins in der vorgelagerten Pipeline fest.

Bei jeder Auslösung und Ausführung der nachgelagerten Pipeline wird deren Nutzlastkonfiguration mit den Laufzeitargumenten der jeweiligen Ausführung der vorgelagerten Pipeline festgelegt, die die nachgelagerte Pipeline ausgelöst hat.

So übergeben Sie die Nutzlastkonfiguration als Laufzeitargumente:

  1. Wenn Sie an der Stelle im Abschnitt Eingehenden Trigger erstellen fortfahren, wo Sie aufgehört haben, nachdem Sie auf Triggerkonfiguration geklickt haben, werden alle Laufzeitargumente angezeigt, die Sie für die vorgelagerte Pipeline zuvor festgelegt haben. Wählen Sie die Laufzeitargumente aus, die von der vorgelagerten Pipeline an die nachgelagerte Pipeline übergeben werden sollen, wenn dieser Trigger ausgeführt wird.
  2. Klicken Sie auf den Tab Plug-in-Konfiguration, um eine Liste der Elemente zu öffnen, die von Ihrer vorgelagerten Pipeline an Ihre nachgelagerte Pipeline übergeben werden, wenn diese ausgelöst wird.
  3. Klicken Sie auf Trigger konfigurieren und aktivieren.