Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
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.
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 Workflowvorlage erstellen, wird in Dataproc kein Cluster erstellt und es werden keine Jobs an einen Cluster gesendet.
Wenn eine Workflowvorlage instanziiert wird, erstellt oder wählt Dataproc einen Cluster aus und führt Workflow-Jobs im Cluster aus.
Arten von Workflowvorlagen
Verwalteter Cluster
In einer Workflowvorlage kann ein verwalteter Cluster angegeben sein. Der Workflow erstellt einen „sitzungsspezifischen“ Cluster zum Ausführen von Workflow-Jobs und löscht den Cluster, wenn der Workflow abgeschlossen ist.
Clusterauswahl
In einer Workflowvorlage kann ein vorhandener Cluster angegeben sein, in dem Workflowjobs ausgeführt werden sollen. Zu diesem Zweck ist die Angabe eines oder mehrerer Nutzerlabels erforderlich, 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 größten verfügbaren YARN-Speicher aus, um alle Workflow-Jobs auszuführen. Am Ende des Workflows wird der ausgewählte Cluster nicht gelöscht. Weitere Informationen finden Sie unter Clusterauswahl mit Workflows verwenden.
Parametrisiert
Wenn Sie eine Workflow-Vorlage mehrmals mit unterschiedlichen Werten ausführen, können Sie Parameter verwenden, um die Workflow-Vorlage nicht für jede Ausführung bearbeiten zu müssen:
Parameter in der Vorlage definieren
Bei jeder Ausführung können Sie verschiedene Werte für die Parameter übergeben.
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.:
Cluster erstellen
Jobs senden
Polling
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 Einbindung von Dataproc in andere Tools wie Cloud Run-Funktionen 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. 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 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.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-22 (UTC)."],[[["\u003cp\u003eWorkflow Templates offer a reusable configuration for defining a series of jobs in a Directed Acyclic Graph (DAG), streamlining the management and execution of workflows.\u003c/p\u003e\n"],["\u003cp\u003eInstantiating a Workflow Template initiates a Workflow, which either creates an ephemeral cluster, runs the jobs, and then deletes the cluster, or utilizes a pre-existing cluster selected via labels.\u003c/p\u003e\n"],["\u003cp\u003eWorkflows are ideal for complex job sequences, allowing you to set job dependencies so that one job will only execute once the previous one has been completed successfully.\u003c/p\u003e\n"],["\u003cp\u003eWorkflow Templates can be parameterized to execute with varying values without the need to edit the template for each run, enhancing flexibility.\u003c/p\u003e\n"],["\u003cp\u003eWorkflow Templates simplify task automation and the integration of Dataproc with external tools by replacing manual cluster management steps with a single-token tracking process.\u003c/p\u003e\n"]]],[],null,["# Overview of Dataproc Workflow Templates\n\nThe Dataproc [WorkflowTemplates API](/dataproc/docs/reference/rest/v1/projects.regions.workflowTemplates) provides a\nflexible and easy-to-use mechanism for managing and executing workflows. A\nWorkflow Template is a reusable workflow configuration. It defines a graph of\njobs with information on where to run those jobs.\n\n**Key Points:**\n\n- [Instantiating a Workflow Template](/dataproc/docs/concepts/workflows/using-workflows#running_a_workflow) launches a Workflow. A Workflow is an operation that runs a [Directed Acyclic Graph (DAG)](https://en.wikipedia.org/wiki/Directed_acyclic_graph) of jobs on a cluster.\n - If the workflow uses a [managed cluster](#managed_cluster), it creates the cluster, runs the jobs, and then deletes the cluster when the jobs are finished.\n - If the workflow uses a [cluster selector](#cluster_selector), it runs jobs on a selected existing cluster.\n- Workflows are ideal for complex job flows. You can create job dependencies so that a job starts only after its dependencies complete successfully.\n- When you [create a workflow template](/dataproc/docs/concepts/workflows/using-workflows#creating_a_template) Dataproc does not create a cluster or submit jobs to a cluster. Dataproc creates or selects a cluster and runs workflow jobs on the cluster when a workflow template is **instantiated**.\n\nKinds of Workflow Templates\n---------------------------\n\n### Managed cluster\n\nA workflow template can specify a managed cluster. The workflow will create an\n\"ephemeral\" cluster to run workflow jobs, and then delete the cluster when the\nworkflow is finished.\n\n### Cluster selector\n\nA workflow template can specify an existing cluster on which to run workflow\njobs by specifying one or more [user labels](/dataproc/docs/concepts/labels)\npreviously attached to the cluster. The workflow will run on a\ncluster that matches all of the labels. If multiple clusters match\nall labels, Dataproc selects the cluster with the most\nYARN available memory to run all workflow jobs. At the end of workflow,\nDataproc does not delete the selected cluster. See\n[Use cluster selectors with workflows](/dataproc/docs/concepts/workflows/cluster-selectors)\nfor more information.\n| A workflow can select a specific cluster by matching the `goog-dataproc-cluster-name` label (see [Using Automatically Applied Labels](/dataproc/docs/concepts/workflows/cluster-selectors#using_automatically_applied_labels)).\n\n### Parameterized\n\nIf you will run a workflow template multiple times with different values, use\nparameters to avoid editing the workflow template for each run:\n\n1. define parameters in the template, then\n\n2. pass different values for the parameters for each run.\n\nSee\n[Parameterization of Workflow Templates](/dataproc/docs/concepts/workflows/workflow-parameters)\nfor more information.\n\n### Inline\n\nWorkflows can be instantiated inline using the `gcloud` command with\n[workflow template YAML files](/dataproc/docs/concepts/workflows/using-yamls#instantiate_a_workflow_using_a_yaml_file) or by calling the Dataproc\n[InstantiateInline](/dataproc/docs/reference/rest/v1/projects.regions.workflowTemplates/instantiateInline)\nAPI (see [Using inline Dataproc workflows](/dataproc/docs/concepts/workflows/inline-workflows)).\nInline workflows do not create or modify workflow template resources.\n| Inline workflows can be useful for rapid prototyping or automation.\n\nWorkflow Template use cases\n---------------------------\n\n- **Automation of repetitive tasks.** Workflows encapsulate frequently used\n cluster configurations and jobs.\n\n- **Transactional fire-and-forget API interaction model.** Workflow Templates\n replace the steps involved in a typical flow, which include:\n\n 1. creating the cluster\n 2. submitting jobs\n 3. polling\n 4. deleting the cluster\n\n Workflow Templates use a single token to track progress from cluster creation\n to deletion, and automate error handling and recovery. They also simplify the\n integration of Dataproc with other tools, such as Cloud Run functions\n and Cloud Composer.\n- **Support for ephemeral and long-lived clusters.** A common complexity\n associated with running Apache Hadoop is tuning and right-sizing clusters.\n Ephemeral (managed) clusters are easier to configure since they run a\n single workload. Cluster selectors can be used with\n longer-lived clusters to repeatedly execute the same workload\n without incurring the amortized cost of creating and deleting clusters.\n\n- **Granular IAM security.** Creating Dataproc clusters and\n submitting jobs require all-or-nothing IAM permissions.\n Workflow Templates use a per-template\n [workflowTemplates.instantiate](/dataproc/docs/concepts/iam/iam#workflow_templates_methods_required_permissions)\n permission, and do not depend on cluster or job permissions."]]