Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
L'API WorkflowTemplates de Dataproc offre un procédé souple et convivial pour la gestion et l'exécution des workflows. Un modèle de workflow est une configuration de workflow réutilisable. Il définit un graphe des tâches avec des informations sur leur emplacement d'exécution.
Si le workflow utilise un cluster géré, il va créer le cluster, exécuter les tâches, puis supprimer le cluster une fois les tâches terminées.
Si le workflow utilise un sélecteur de cluster, il va exécuter des tâches sur un cluster existant sélectionné.
Les workflows sont parfaitement adaptés aux flux de tâches complexes. Vous pouvez créer des dépendances de tâches de sorte qu'une tâche ne commence qu'une fois ses dépendances terminées.
Lorsque vous créez un modèle de workflow, Dataproc ne crée pas de cluster ni n'envoie de tâches à un cluster.
Dataproc crée ou sélectionne un cluster et exécute des tâches de workflow sur le cluster lorsqu'un modèle de workflow est instancié.
Types de modèles de workflow
Cluster géré
Un modèle de workflow permet de spécifier un cluster géré. Le workflow va créer un cluster "éphémère" pour exécuter des tâches de workflow, puis le supprimer une fois le workflow terminé.
Sélecteur de cluster
Un modèle de workflow permet également de spécifier un cluster existant sur lequel exécuter des tâches de workflow, en spécifiant un ou plusieurs libellés utilisateur précédemment associés au cluster. Le workflow s'exécutera sur un cluster correspondant à tous les libellés. Si plusieurs clusters correspondent à tous les libellés, Dataproc sélectionne le cluster avec le plus de mémoire YARN disponible pour exécuter toutes les tâches de workflow. À la fin du workflow, Dataproc ne supprime pas le cluster sélectionné. Pour en savoir plus, consultez Utiliser des sélecteurs de cluster avec des workflows.
Paramétrage
Si vous exécutez un modèle de workflow plusieurs fois avec des valeurs différentes, utilisez des paramètres pour éviter d'avoir à modifier le modèle de workflow pour chaque exécution :
définissez les paramètres dans le modèle, puis
transmettre différentes valeurs pour les paramètres à chaque exécution.
Automatisation de tâches répétitives. Les workflows encapsulent les configurations et les tâches de cluster fréquemment utilisées.
Modèle d'interaction transactionnel avec l'API, basé sur des appels autonomes de type "fire and forget". Les modèles de workflow se substituent aux étapes que l'on retrouve dans les flux typiques, en particulier :
créer le cluster ;
envoyer des jobs ;
interrogation
supprimer le cluster ;
Les modèles de workflow utilisent un seul jeton pour suivre la progression du cluster, de sa création à sa suppression, et automatiser le gestion des exceptions et la récupération. Ils simplifient également l'intégration de Dataproc avec d'autres outils, tels que Cloud Run Functions et Cloud Composer.
Compatibilité avec les clusters éphémères et à longue durée de vie. Le réglage et le dimensionnement des clusters sont des opérations complexes associées à l'exécution d'Apache Hadoop.
Les clusters éphémères (gérés) sont plus faciles à configurer, car ils n'exécutent qu'une seule charge de travail. Les sélecteurs de cluster peuvent s'utiliser avec des clusters à longue durée de vie, pour exécuter de manière répétée la même charge de travail, en s'affranchissant du coût amorti lié à la création et à la suppression des clusters.
Sécurité IAM granulaire. La création de clusters Dataproc et l'envoi de tâches nécessitent des autorisations IAM de type "tout ou rien".
Les modèles de workflow exploitent une autorisation workflowTemplates.instantiate définie par modèle, et ne dépendent pas des autorisations liées aux clusters ou aux tâches.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (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,["The 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\nManaged 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\nCluster 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\nParameterized\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\nInline\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- **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."]]