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 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, puis exécute des tâches de workflow sur celui-ci 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 les tâches, puis le supprimer à la fin du workflow.

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 une ou plusieurs étiquettes utilisateur précédemment associées au cluster. Le workflow s'exécutera sur un cluster correspondant à toutes les étiquettes. Si plusieurs clusters correspondent à tous les libellés, Dataproc sélectionne le cluster ayant le plus de mémoire YARN disponible pour exécuter l'ensemble des tâches de workflow. À la fin du workflow, Dataproc ne supprime pas le cluster sélectionné. Pour en savoir plus, consultez la section 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 à 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 de l'API "fire-and-forget". Les modèles de workflow remplacent les étapes impliquées dans un flux classique, qui incluent:

    1. de la création du cluster
    2. l'envoi de tâches
    3. interrogation
    4. suppression du 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. Elles simplifient également l'intégration de Dataproc à 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 être utilisés avec des clusters à longue durée de vie pour exécuter de manière répétée la même charge de travail, sans encourir le coût amorti lié à la création et à la suppression de 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.