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.
  • La création d'un modèle de workflow ne crée pas de cluster Dataproc et n'envoie pas de tâches. Les clusters et les tâches associés aux workflows sont créés 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 ce 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 appliqués à un ou plusieurs clusters. Le workflow va s'exécuter sur un cluster correspondant à tous les libellés spécifiés. Si plusieurs clusters correspondent au(x) 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, le cluster sélectionné n'est pas supprimé. 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, vous pouvez éviter d'avoir à modifier le modèle de workflow pour chaque exécution en définissant des paramètres dans le modèle, puis en transmettant 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égration

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 la création, l'interrogation et la suppression du cluster, ainsi que l'envoi de tâches. Ils utilisent un seul jeton pour suivre la progression du cluster, de sa création à sa suppression, et automatiser le traitement des erreurs et la récupération. Ils simplifient également l'intégration de Dataproc avec d'autres outils, tels que Cloud 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.