Übersicht über Dataproc-Workflow-Vorlagen

Die Dataproc WorkflowTemplates API bietet einen flexiblen und benutzerfreundlichen Mechanismus zum Verwalten und Ausführen von Workflows. Eine Workflowvorlage ist eine wiederverwendbare Workflowkonfiguration, die Jobs in einer Grafik definiert und Informationen dazu enthält, wo diese Jobs ausgeführt werden sollen.

Wichtige Fakten

  • Durch das Instanziieren einer Workflowvorlage wird ein Workflow gestartet. Ein Workflow ist ein Vorgang, der einen gerichteten azyklischen Graphen (Directed Acyclic Graph, DAG) von Jobs in einem Cluster ausführt.
    • Wenn der Workflow einen verwalteten Cluster verwendet, wird der Cluster erstellt und die Jobs werden ausgeführt. Nach Abschluss der Jobs wird der Cluster gelöscht.
    • Wenn der Workflow eine Clusterauswahl verwendet, werden die Jobs in einem ausgewählten vorhandenen Cluster ausgeführt.
  • Workflows sind ideal für komplexe Jobabläufe geeignet. Sie können Jobabhängigkeiten erstellen und damit festlegen, dass ein Job erst gestartet wird, nachdem die zugehörigen Abhängigkeiten erfolgreich abgeschlossen wurden.
  • Wenn Sie eine Workflow-Vorlage erstellen, erstellt Dataproc keinen Cluster und sendet auch keine Jobs an einen Cluster. Dataproc erstellt oder wählt einen Cluster aus und führt Workflowjobs im Cluster aus, wenn eine Workflowvorlage instanziiert wird.

Arten von Workflowvorlagen

Verwalteter Cluster

In einer Workflowvorlage kann ein verwalteter Cluster angegeben sein. Der Workflow erstellt einen „sitzungsspezifischen“ Cluster zum Ausführen von Workflowjobs und löscht den Cluster, wenn der Workflow abgeschlossen ist.

Clusterauswahl

In einer Workflowvorlage kann ein vorhandener Cluster angegeben werden, auf dem Workflowjobs ausgeführt werden sollen. Dazu geben Sie ein oder mehrere Nutzerlabels an, die zuvor an den Cluster angehängt wurden. Der Workflow wird in einem Cluster ausgeführt, der mit allen Labels übereinstimmt. Wenn mehrere Cluster mit allen Labels übereinstimmen, wählt Dataproc den Cluster mit dem meisten verfügbaren YARN-Arbeitsspeicher aus, um alle Workflow-Jobs auszuführen. Am Ende des Workflows löscht Dataproc den ausgewählten Cluster nicht. Weitere Informationen finden Sie unter Clusterauswahl mit Workflows verwenden.

Parametrisiert

Wenn Sie eine Workflowvorlage mehrmals mit unterschiedlichen Werten ausführen, verwenden Sie Parameter, damit Sie die Workflowvorlage nicht bei jeder Ausführung neu bearbeiten müssen:

  1. die Parameter in der Vorlage definieren

  2. Übergeben Sie bei jeder Ausführung unterschiedliche Werte für die Parameter.

Weitere Informationen finden Sie unter Workflowvorlagen parametrisieren.

Inline

Workflows können mit dem Befehl gcloud mit YAML-Dateien für Workflowvorlagen oder durch Aufrufen der Dataproc API InstantiateInline instanziiert werden (siehe Inline-Dataproc-Workflows verwenden). Inline-Workflows erstellen oder ändern keine Ressourcen für Workflow-Vorlagen.

Anwendungsfälle für Workflow-Vorlagen

  • Automatisierung sich wiederholender Aufgaben. Workflows schließen häufig verwendete Clusterkonfigurationen und -jobs ein.

  • Transaktionsbasiertes Fire-and-Forget-API-Interaktionsmodell Workflowvorlagen ersetzen die Schritte eines typischen Ablaufs. Dazu gehören:

    1. Cluster erstellen
    2. Jobs werden gesendet
    3. Polling
    4. den Cluster löschen

    Workflowvorlagen verwenden ein einzelnes Token, um den Fortschritt von der Clustererstellung bis zum Löschen zu verfolgen und die Fehlerbehandlung und Wiederherstellung zu automatisieren. Sie vereinfachen auch die Einbindung von Dataproc in andere Tools wie Cloud Functions und Cloud Composer.

  • Unterstützung für sitzungsspezifische und langlebige Cluster. Eine häufige Herausforderung bei der Ausführung von Apache Hadoop besteht in der Optimierung und Anpassung der Größe von Clustern. Sitzungsspezifische (verwaltete) Cluster sind einfacher zu konfigurieren, da sie eine einzelne Arbeitslast ausführen. Clusterselektoren können mit langlebigeren Clustern verwendet werden, um wiederholt dieselbe Arbeitslast auszuführen, ohne die amortisierten Kosten für das Erstellen und Löschen von Clustern zu verursachen.

  • Granulare IAM-Sicherheit. Zum Erstellen von Dataproc-Clustern und Senden von Jobs sind IAM-Berechtigungen erforderlich. Workflowvorlagen verwenden die vorlagenspezifische Berechtigung workflowTemplates.instantiate und sind nicht von Cluster- oder Jobberechtigungen abhängig.