Übersicht über Workflow-Vorlagen für Managed Service for Apache Spark

Die Managed Service for Apache Spark 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 Clusterverwendet, 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 Workflowvorlage erstellen, wird von Managed Service for Apache Spark kein Cluster erstellt und es werden keine Jobs an einen Cluster gesendet. Managed Service for Apache Spark 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, um Workflowjobs auszuführen, und löscht den Cluster dann, wenn der Workflow abgeschlossen ist.

Clusterauswahl

In einer Workflowvorlage kann ein vorhandener Cluster angegeben sein, in dem Workflow jobs ausgeführt werden sollen. Zu diesem Zweck ist die Angabe eines oder mehrerer Nutzerlabels erforderlich, die zuvor auf den Cluster angewendet wurden. Der Workflow wird in einem Cluster ausgeführt, der alle Labels erfüllt. Wenn mehrere Cluster alle Labels erfüllen, wählt Managed Service for Apache Spark den Cluster mit dem größten verfügbaren YARN-Speicher aus, um alle Workflowjobs auszuführen. Am Ende des Workflows wird der ausgewählte Cluster von Managed Service for Apache Spark nicht gelöscht. Weitere Informationen finden Sie unter Clusterauswahl mit Workflows verwenden.

Parametrisiert

Wenn Sie eine Workflowvorlage mehrmals mit unterschiedlichen Werten ausführen, können Sie Parameter verwenden, um zu vermeiden, dass Sie die Workflowvorlage für jede Ausführung bearbeiten müssen:

  1. Definieren Sie Parameter in der Vorlage.

  2. Übergeben Sie für jede Ausführung andere Parameterwerte.

Weitere Informationen finden Sie unter Workflowvorlagen parametrisieren.

Inline

Workflows können inline über den gcloud Befehl mit YAML-Dateien für Workflowvorlagen oder durch Aufruf der Managed Service for Apache Spark InstantiateInline API instanziiert werden (siehe Inline-Dataproc-Workflows verwenden). Inline-Workflows erstellen oder ändern keine Ressourcen für Workflowvorlagen.

Anwendungsfälle mit Workflowvorlagen

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

  • Transaktionales Fire-and-Forget-API-Interaktionsmodell. Workflowvorlagen ersetzen die Schritte eines typischen Workflows, z. B.:

    1. Cluster erstellen
    2. Jobs senden
    3. Polling
    4. Cluster löschen

    Workflowvorlagen verwenden ein einzelnes Token, um den Fortschritt von der Erstellung des Clusters bis hin zu dessen Löschung zu verfolgen und die Fehlerbehandlung und Wiederherstellung zu automatisieren. Außerdem vereinfachen sie die Integration von Managed Service for Apache Spark in andere Tools wie Cloud Run-Funktionen und Managed Service for Apache Airflow.

  • 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. Die Clusterauswahl kann mit langlebigeren Clustern verwendet werden, um wiederholt dieselbe Arbeitslast auszuführen, ohne dass amortisierte Kosten für das Erstellen und Löschen von Clustern entstehen.

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