Présentation des modèles de workflow Dataproc

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.

Points essentiels :

  • L'instanciation d'un modèle de workflow permet de lancer un workflow. Un workflow est une opération qui exécute un graphe orienté acyclique (DAG) de tâches dans un cluster.
    • 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 et n'envoie pas de tâches à un cluster. Dataproc crée ou sélectionne un cluster et exécute des tâches de workflow sur ce 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 peut 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 va s'exécuter sur un cluster correspondant à tous les libellés. Si plusieurs clusters correspondent à tous les libellés, Dataproc sélectionne le cluster avec la plus grande capacité 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 la page 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 de modifier le modèle de workflow pour chaque exécution:

  1. définir des paramètres dans le modèle, puis

  2. transmettre des valeurs différentes pour les paramètres à chaque exécution.

Pour plus d'informations, consultez la page Paramétrage des modèles de workflow.

Intégré

L'instanciation des workflows peut être intégrée à l'aide de la commande gcloud, avec les fichiers YAML des modèles de workflow, ou en appelant l'API Dataproc InstantiateInline (consultez la page Utiliser des workflows Dataproc intégrés. Les workflows intégrés ne créent ni ne modifient les ressources de modèle de workflow.

Cas d'utilisation des modèles de workflow

  • 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 de type "fire and forget". Les modèles de workflow se substituent aux étapes que l'on retrouve dans les flux typiques, en particulier:

    1. créer le cluster ;
    2. envoyer des tâches ;
    3. interrogation
    4. 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 les fonctions Cloud Run 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.