Présentation des flux de travail dans AWS Glue - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Présentation des flux de travail dans AWS Glue

Dans AWS Glue, vous pouvez utiliser les flux de travail pour créer et visualiser les activités complexes d'extraction, de transformation et de chargement (ETL) impliquant plusieurs crawlers, tâches et déclencheurs. Chaque flux de travail gère l'exécution et la surveillance de l'ensemble de ses tâches et crawlers. Tandis qu'un flux de travail exécute chaque composant, il enregistre le statut et la progression de l'exécution. Vous trouverez ainsi une présentation de la tâche la plus volumineuses et les détails de chaque étape. La console AWS Glue fournit une représentation visuelle d'un flux de travail sous forme de graphique.

Vous pouvez créer un flux de travail à partir d'un modèle AWS Glue, ou vous pouvez créer manuellement un flux de travail composant par composant à l'aide de la AWS Management Console ou de AWS Glue API. Pour plus d'informations sur les modèles de présentation, consultez Présentation des plans dans AWS Glue.

Les déclencheurs dans les flux de travail peuvent démarrer les tâches ou les crawlers, et peuvent être déclenchés lorsque les tâches et les crawlers ont terminé leurs opérations. En utilisant des déclencheurs, vous pouvez créer de grandes chaînes de tâches et d'crawlers interdépendants. En plus des déclencheurs au sein d'un flux de travail qui définissent les dépendances des tâches et de l'crawler, chaque flux de travail a un déclencheur de démarrage. Il existe trois types de déclencheurs :

  • Schedule (Planification) - le flux de travail est démarré selon un planificateur que vous définissez. La planification peut être quotidienne, hebdomadaire, mensuelle, etc., ou peut être une planification personnalisée basée sur une expression cron.

  • On demand (À la demande) - le flux de travail est démarré manuellement à partir de la console AWS Glue, API ou AWS CLI.

  • EventBridge event (Événement EventBridge) - le flux de travail est démarré dès l'apparition d'un événement Amazon EventBridge unique ou d'un lot d'événements Amazon EventBridge. Avec ce type de déclencheur, AWS Glue peut être un consommateur d'événements dans une architecture événementielle. Tout type d'événement EventBridge peut démarrer un flux de travail. L'arrivée d'un nouvel objet dans un compartiment Amazon S3 (l'opération PutObject S3) fait partie des cas d'utilisation les plus courants.

    Démarrer un flux de travail avec un lot d'événements signifie attendre qu'un nombre spécifié d'événements ait été reçu ou qu'un laps de temps spécifié se soit écoulé. Lorsque vous créez le déclencheur d'événement EventBridge, vous pouvez éventuellement spécifier des conditions de lot. Si vous spécifiez des conditions de lot, vous devez spécifier la taille du lot (nombre d'événements) et pouvez éventuellement spécifier une fenêtre de lot (nombre de secondes). La fenêtre de lot par défaut et maximale est de 900 secondes (15 minutes). La condition de lot qui est remplie démarre en premier le flux de travail. La fenêtre de traitement par lots démarre lorsque le premier événement arrive. Si vous ne spécifiez pas de conditions de lot lors de la création d'un déclencheur, la taille du lot par défaut est 1.

    Lorsque le flux de travail démarre, les conditions du lot sont réinitialisées et le déclencheur d'événement commence à surveiller la prochaine condition de lot à remplir pour redémarrer le flux de travail.

    Le tableau suivant montre comment la taille du lot et la fenêtre de lot fonctionnent ensemble pour déclencher un flux de travail.

    Taille de lot Fenêtre de lot Condition de déclenchement obtenue
    10 Le flux de travail est déclenché à l'arrivée de 10 événements EventBridge, ou 15 minutes après l'arrivée du premier événement, selon la première éventualité. (Si la taille de la fenêtre temporelle n'est pas spécifiée, la valeur par défaut est de 15 minutes.)
    10 2 min Le flux de travail est déclenché à l'arrivée de 10 événements EventBridge, ou 2 minutes après l'arrivée du premier événement, selon la première éventualité.
    1 Le flux de travail est déclenché dès l'arrivée du premier événement. La taille de la fenêtre n'est pas pertinente. La taille du lot par défaut est 1 si vous ne spécifiez pas de conditions de lot lorsque vous créez le déclencheur d'événement EventBridge.

    L'opération d'API GetWorkflowRun renvoie la condition de lot qui a déclenché le flux de travail.

Quel que soit le mode de démarrage d'un flux de travail, vous pouvez spécifier le nombre maximal d'exécutions simultanées de flux de travail lorsque vous créez le flux de travail.

Si un événement ou un lot d'événements démarre une exécution de flux de travail qui échoue finalement, cet événement ou lot d'événements n'est plus pris en compte pour démarrer une exécution de flux de travail. Une nouvelle exécution de flux de travail est démarrée uniquement lorsque le prochain événement ou lot d'événements se présente.

Important

Limitez le nombre total de tâches, de crawlers et de déclencheurs au sein d'un flux de travail à 100 ou moins. Si vous en incluez plus de 100, vous risquez de rencontrer des erreurs lorsque vous tentez de reprendre ou d'arrêter les exécutions du flux de travail.

Une exécution de flux de travail ne démarrera pas si elle dépasse la limite de simultanéité définie pour le flux de travail, même si la condition d'événement est remplie. Il est conseillé d'ajuster les limites de simultanéité du flux de travail en fonction du volume d'événements attendu. AWS Glue ne retente pas les exécutions de flux de travail qui échouent en raison du dépassement des limites de simultanéité. De même, il est conseillé d'ajuster les limites de simultanéité pour les tâches et les crawlers dans les flux de travail en fonction du volume d'événements attendu.

Propriétés de l'exécution du flux de travail

Pour partager et gérer l'état tout au long de l'exécution d'un flux de travail, vous pouvez définir des propriétés d'exécution de flux de travail par défaut. Ces propriétés, qui sont des paires nom/valeur, sont disponibles pour toutes les tâches du flux de travail. L'utilisation des tâches AWS Glue API, peut récupérer les propriétés d'exécution de flux de travail et les modifier pour les tâches qui se présenteront ultérieurement dans le flux de travail.

Graphique de flux de travail

L'image suivante illustre le graphique d'un flux de travail vraiment de base sur la console AWS Glue. Votre flux de travail peut avoir des douzaines de composants.

Capture d'écran de la console affichant l'onglet Graph (Graphique) d'un flux de travail. Le graphique contient 5 icônes représentant un déclencheur de calendrier, 2 tâches, un déclencheur de réussite d'un événement et un crawler qui met à jour le schéma.

Ce flux de travail est démarré par un déclencheur de calendrier, Month-close1, qui lance deux tâches, De-duplicate et Fix phone numbers. Lorsque vous avez validé les deux tâches, un déclencheur d'événement, Fix/De-dupe succeeded, lance un crawler, Update schema.

Affichages de flux de travail statiques et dynamiques

Pour chaque flux de travail, il existe la notion de vue statique et de vue dynamique. La conception statique indique la conception du flux de travail. L'affichage dynamique est une vue de l'exécution qui inclut les dernières informations d'exécution pour chacune des tâches et chacun des crawlers. Les informations d'exécution inclut le statut de succès et les informations détaillées d'erreur.

Lorsqu'un flux de travail est en cours d'exécution, la console affiche la vue dynamique, indiquant graphiquement les tâches qui se sont terminées et celles qu'il reste à exécuter. Vous pouvez également extraire la vue dynamique d'un flux de travail en cours d'exécution avec AWS Glue API. Pour de plus amples informations, veuillez consulter Interrogation des flux de travail avec AWS Glue API.