Gestion des tâches ETL avec AWS Glue Studio - 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.

Gestion des tâches ETL avec AWS Glue Studio

Vous pouvez utiliser l'interface graphique simple dans AWS Glue Studio pour gérer vos tâches ETL. Dans le menu de navigation, choisissez Jobs (Tâches)pour afficher la page Jobs (Tâches). Sur cette page, vous pouvez voir toutes les tâches que vous avez créées soit avec AWS Glue Studio, soit avec la console AWS Glue. Vous pouvez afficher, gérer et exécuter vos tâches sur cette page.

Démarrer une exécution de tâche

Dans AWS Glue Studio, vous pouvez exécuter vos tâches à la demande. Une tâche peut s'exécuter plusieurs fois, et chaque fois que vous l'exécutez, AWS Glue recueille des informations sur les activités et les performances de celle-ci. Cette information est appelée job run (exécution de tâches) et est identifiée par un ID d'exécution de tâche.

Vous pouvez lancer une exécution de tâche de la manière suivante dans AWS Glue Studio :

  • Sur la page Jobs (Tâches), choisissez la tâche à démarrer, puis choisissez le bouton Run job (Exécuter une tâche).

  • Si vous affichez une tâche dans l'éditeur visuel et que la tâche a été sauvegardée, vous pouvez choisir le bouton Run (Exécuter) pour démarrer une exécution de tâche.

Pour plus d'informations sur les exécutions de tâche, consultezUtilisation des tâches sur la console AWS Glue dans le Guide du développeur AWS Glue.

Planifier des exécutions de tâche

Dans AWS Glue Studio, vous pouvez créer un planning pour que vos tâches soient exécutées à des moments précis. Vous pouvez spécifier des contraintes, telles que le nombre d'exécutions des tâches, les jours de la semaine où elles sont exécutées et l'heure à laquelle elles le sont. Ces contraintes sont basées sur cron et possèdent les mêmes limitations que cron. Par exemple, si vous choisissez d'exécuter votre tâche le 31 de chaque mois, n'oubliez pas que certains mois ne comportent pas 31 jours. Pour plus d'informations sur cron, veuillez consulter la rubrique Cron expressions dans le Guide du développeur AWS Glue.

Pour exécuter des tâches selon une planification
  1. Créez une planification de tâche à l'aide d'une des méthodes suivantes :

    • Sur la page Jobs (Tâches), choisissez la tâche pour laquelle vous voulez créer une planification, choisissez Actions, puis choisissez Schedule job (Planification de tâches).

    • Si vous visualisez une tâche dans l'éditeur visuel et que cette tâche a été enregistrée, choisissez l'onglet Schedules (Planifications). Puis choisissez Create Schedule (Créer une planification).

  2. Sur la pageSchedule job run (Planification des exécutions de tâches), saisissez les informations suivantes :

    • Name (Nom) : saisissez un nom pour votre planification de tâche.

    • Frequency (Fréquence) : entrez la fréquence de la planification de tâche. Vous pouvez choisir parmi les options suivantes :

      • Hourly (Horaire) : la tâche s'exécutera toutes les heures, à partir d‘une minute spécifique. Vous pouvez spécifier la Minute de l'heure à laquelle la tâche doit être exécutée. Par défaut, lorsque vous choisissez horaire, la tâche s'exécute au début de l'heure (minute 0).

      • Daily (Journalier) : La tâche s'exécutera tous les jours, en commençant à un moment donné. Vous pouvez spécifier les valeurs de Minute et Start hour (Heure de début) pour définir l'heure à laquelle la tâche s'exécutera. Les heures sont spécifiées à l'aide d'une horloge de 23 heures, où vous utilisez les chiffres 13 à 23 pour les heures de l'après-midi. Les valeurs par défaut pour les minutes et les heures sont 0, ce qui signifie que si vous sélectionnez Daily (Journalier), la tâche s'exécutera par défaut à minuit.

      • Weekly (Hebdomadaire) : la tâche s'exécutera chaque semaine, un ou plusieurs jours. En plus des mêmes paramètres décrits précédemment pour Daily, vous pouvez choisir les jours de la semaine où la tâche sera exécutée. Vous pouvez choisir un ou plusieurs jours.

      • Monthly (Mensuel) : la tâche s'exécutera tous les mois à un jour précis. En plus des mêmes paramètres que ceux décrits précédemment pour Daily, vous pouvez choisir le jour du mois où la tâche sera exécutée. Spécifiez le jour sous la forme d'une valeur numérique comprise entre 1 et 31. Si vous sélectionnez un jour qui n'existe pas au cours d'un mois, par exemple le 30e jour de février, la tâche ne sera pas exécutée ce mois-là.

      • Custom (Personnalisée) : entrez une expression pour votre planification de tâche à l'aide de la syntaxe cron. Les expressions Cron vous permettent de créer des planifications plus complexes, telles que le dernier jour du mois (au lieu d‘un jour spécifique du mois) ou tous les trois mois, les 7e et 21e jours du mois.

        Veuillez consulter la rubrique Expressions cron dans le Guide du développeur AWS Glue

    • Description : vous pouvez éventuellement saisir une description pour votre planification de tâche. Si vous envisagez d'utiliser la même planification pour plusieurs tâches, la description vous permet de déterminer plus facilement l'action de la planification.

  3. Choisissez Create schedule (Créer une planification) pour enregistrer la planification de la tâche.

  4. Une fois que vous avez créé la planification, un message de réussite s'affiche en haut de la page de la console. Vous pouvez choisir Job details (Détails de la tâche) dans cette bannière pour afficher les détails de la tâche. Cela ouvre la page de l'éditeur de tâches visuel, avec l'onglet Schedules (Planifications) sélectionné.

Gestion des planifications de tâche

Une fois que vous avez créé des planifications pour une tâche, vous pouvez l'ouvrir dans l'éditeur visuel et choisir l'onglet Schedules (Planifications) pour gérer les planifications.

Sur la page Schedules (Planifications) de l'éditeur visuel, vous pouvez effectuer les tâches suivantes :

  • Créer une planification.

    Choisissez Create schedule (Création de planification), puis entrez les informations de votre planification comme décrit dans Planifier des exécutions de tâche.

  • Modifier une planification existante.

    Choisissez la planification à modifier, puis choisissez Action suivi de Edit schedule (Modifier une planification). Lorsque vous choisissez de modifier une planification existante, la Frequency (Fréquence) s'affiche comme Custom (Personnalisée), et la planification s'affiche comme une expression cron. Vous pouvez modifier l'expression cron, ou spécifier une nouvelle planification à l'aide du bouton Frequency (Fréquence). Lorsque vous avez terminé vos modifications, choisissez Update schedule (Mettre à jour la planification).

  • Suspendre une planification active.

    Choisissez une planification active, puis choisissez Action suivi de Pause schedule (Suspendre la planification). La planification est désactivée instantanément. Choisissez le bouton d'actualisation (rechargement) pour consulter l'état actualisé de la planification de tâche.

  • Reprendre une planification suspendue.

    Choisissez une planification inactive, puis choisissez Action suivi de Resume schedule (Reprendre la planification). La planification est activée instantanément. Choisissez le bouton d'actualisation (rechargement) pour consulter l'état actualisé de la planification de tâche.

  • Supprimer une planification.

    Choisissez la planification à supprimer, puis choisissez Action suivi de Delete schedule (Supprimer une planification). La planification est supprimée instantanément. Choisissez le bouton d'actualisation (rechargement) pour consulter la liste actualisée de planification de tâche. La planification affichera un état Deleting (Suppression) jusqu‘à ce qu'elle ait été complètement supprimée.

Arrêter les exécutions de tâche

Vous pouvez arrêter une tâche avant qu‘elle n'ait terminé son exécution. Vous pouvez choisir cette option si vous savez que la tâche n'est pas configurée correctement ou si la tâche prend trop de temps à s'exécuter.

Sur la page Monitoring (Surveillance), dans la liste Job runs (Exécutions de tâche), choisissez la tâche que vous souhaitez arrêter, choisissez Actions, puis choisissez Stop run (Arrêter l'exécution).

Voir vos tâches

Vous pouvez afficher toutes vos tâches sur la page Jobs (Tâches). Vous pouvez accéder à cette page en choisissant Jobs (Tâches) dans le panneau de navigation.

Sur la page Jobs (Tâches), vous pouvez voir toutes les tâches qui ont été créées dans votre compte. La liste Your jobs (Vos tâches) affiche le nom de la tâche, son type, le statut de la dernière exécution de cette tâche, ainsi que les dates de création et de dernière modification de la tâche. Vous pouvez choisir le nom d'une tâche pour afficher des informations détaillées sur celle-ci.

Vous pouvez également utiliser le tableau de bord Surveillance pour afficher toutes vos tâches. Vous pouvez accéder au tableau de bord en sélectionnant Monitoring (Surveillance) dans le panneau de navigation.

Personnalisation de l'affichage des tâches

Vous pouvez personnaliser la façon dont les tâches sont affichées dans la section Your jobs (Vos tâches) de la page Jobs (Tâches). En outre, vous pouvez saisir du texte dans le champ de recherche pour afficher uniquement les tâches dont le nom contient ce texte.

Si vous choisissez l'icône de paramètres A gear symbol dans la section Your jobs (Vos tâches), vous pouvez personnaliser la façon dont AWS Glue Studio affiche les informations contenues dans le tableau. Vous pouvez choisir de regrouper les lignes de texte dans l'affichage, de modifier le nombre de tâches affichées sur la page et de spécifier les colonnes à afficher.

Afficher les informations sur les exécutions de tâche récentes

Une tâche peut être exécutée plusieurs fois à mesure que de nouvelles données sont ajoutées à l'emplacement source. Chaque fois qu‘une tâche s'exécute, un ID unique lui est attribué et des informations sur cette exécution sont collectées. Vous pouvez consulter ces informations en utilisant les méthodes suivantes :

  • Choisissez l'onglet Runs (Exécutions) de l'éditeur visuel pour afficher les informations d'exécution de la tâche actuellement affichée.

    Sur l'onglet Runs (Exécutions) (la page Recent job runs (Exécutions de tâche récentes)), il y a une carte pour chaque exécution de tâche. Les informations affichées sur l'onglet Runs (Exécutions)comprennent :

    • ID d'exécution de la tâche

    • Nombre de tentatives d'exécution de cette tâche

    • Statut de l'exécution de la tâche

    • Heure de début et de fin de l'exécution de la tâche

    • Le moteur d'exécution de la tâche

    • Un lien vers les fichiers du journal de tâche

    • Un lien vers les fichiers de journalisation des erreurs de tâche

    • L'erreur renvoyée pour les tâches ayant échoué

  • Vous pouvez sélectionner une tâche pour afficher des informations supplémentaires sur celle-ci, notamment :

Vous pouvez sélectionner Afficher les détails pour afficher des informations similaires sur la page des détails de l'exécution de la tâche. Vous pouvez également accéder à la page des détails de l'exécution de la tâche via la page Surveillance. Dans le panneau de navigation, choisissez Surveillance. Faites défiler jusqu'à la liste Job runs (Exécutions de tâche). Choisissez la tâche, puis choisissez View run details (Afficher les détails de l‘exécution). Le contenu est décrit dans Affichage des détails d'une exécution de tâche.

Pour plus d'informations sur les valeurs de tâche, veuillez consulter Afficher les journaux d'exécution de la tâche.

Afficher le script de tâche

Après avoir fourni les informations pour tous les nœuds de la tâche, AWS Glue Studio génère un script qui est utilisé par la tâche pour lire les données de la source, transformer les données et écrire les données dans l'emplacement cible. Si vous sauvegardez la tâche, vous pouvez afficher ce script à tout moment.

Pour afficher le script généré pour votre tâche
  1. Dans le panneau de navigation, sélectionnez Jobs (Tâches).

  2. Sur la page Jobs (Tâches), dans la liste our jobs (Vos tâches), choisissez le nom de la tâche que vous souhaitez vérifier. Vous pouvez également sélectionner une tâche dans la liste, choisir le menu Actions, puis choisir Edit job (Modifier une tâche).

  3. Sur la page de l'éditeur visuel, choisissez l'onglet Script en haut pour afficher le script de tâche.

    Si vous souhaitez modifier le script de tâche, veuillez consulter AWS Glue guide de programmation.

Modifier les propriétés de tâche

Les nœuds du diagramme de tâche définissent les actions effectuées par la tâche, mais il existe également plusieurs propriétés que vous pouvez configurer pour la tâche. Ces propriétés déterminent l'environnement dans lequel la tâche s'exécute, les ressources qu'elle utilise, les paramètres de seuil, les paramètres de sécurité, etc.

Pour personnaliser l'environnement d'exécution de la tâche
  1. Dans le panneau de navigation, sélectionnez Jobs (Tâches).

  2. Sur la page Jobs (Tâches), dans la liste our jobs (Vos tâches), choisissez le nom de la tâche que vous souhaitez vérifier.

  3. Sur la page de l'éditeur visuel, choisissez l'onglet Job details (Détails de la tâche) en haut du volet de modification des tâches.

  4. Modifiez les propriétés de la tâche, si nécessaire.

    Pour plus d'informations sur les propriétés de tâche, veuillez consulter Définition des propriétés d‘une tâche dans le Guide du développeur AWS Glue.

  5. Développez la section Advanced properties (Propriétés avancées) si vous devez spécifier les propriétés de tâche supplémentaires suivantes :

    • Script filename (Nom du fichier de script) — Le nom du fichier qui stocke le script de tâche dans Amazon S3.

    • Script path (Chemin du script) — L'emplacement Amazon S3 dans lequel le script de tâche est stocké.

    • Job metrics (Métriques de tâche) — (Non disponible pour les tâches shell Python) Active la création de métriques Amazon CloudWatch lorsque cette tâche s'exécute.

    • Continuous logging (Journalisation continue) — (Non disponible pour les tâches shell Python) Active la journalisation continue dans CloudWatch, de sorte que les journaux sont disponibles pour l'affichage avant la fin de la tâche.

    • Spark UI (Interface utilisateur Spark) et Spark UI logs path (Chemin des journaux de l'interface utilisateur Spark) — (Non disponible pour les tâches shell Python) Active l'utilisation de l'interface utilisateur Spark pour la surveillance de ce travail et spécifie l'emplacement des journaux de l'interface utilisateur Spark.

    • Maximum concurrency (Concurrence maximale) — Définit le nombre maximal d'exécutions simultanées autorisées pour cette tâche.

    • Temporary path (Chemin temporaire) — Chemin temporaire — L'emplacement d'un répertoire de travail dans Amazon S3 où les résultats intermédiaires temporaires sont écrits lorsque AWS Glue exécute le script de tâche.

    • Delay notification threshold (minutes) (Seuil de notification de délai, en minutes) — Spécifie un seuil de temporisation pour la tâche. Si la tâche s'exécute plus longtemps que celle spécifiée par ce seuil, AWS Glue envoie une notification de retard pour la tâche à CloudWatch.

    • Security configuration (Configuration de la sécurité) et Server-side encryption (Chiffrement côté serveur) — Utilisez ces champs pour choisir les options de chiffrement de la tâche.

    • Use Glue Data Catalog as the Hive metastore (Utiliser le catalogue de données Glue en tant que metastore Hive) — Choisissez cette option si vous souhaitez utiliser AWS Glue Data Catalog comme alternative à Apache Hive Metastore.

    • Additional network connection (Connexion réseau supplémentaire) — Pour une source de données dans un VPC, vous pouvez spécifier une connexion de type Network afin de vous assurer que votre tâche accède à vos données via le VPC.

    • Python library path (Chemin de la bibliothèque Python), Dependent jars path (Chemin des fichiers .jar dépendants) (Non disponible pour les tâches shell Python), ou Referenced files path (Chemin de fichiers référencés) — Utilisez ces champs pour spécifier l'emplacement des fichiers supplémentaires utilisés par la tâche lors de l'exécution du script.

    • Job Parameters (Paramètres de tâche) — Vous pouvez ajouter un ensemble de paires clé-valeur qui sont transmises comme paramètres nommés au script de tâche. Dans les appels Python à AWS Glue API, il est préférable de transmettre les paramètres explicitement par nom. Pour de plus amples informations sur l'utilisation des paramètres dans un script de tâche, veuillez consulter la rubrique Transmission de paramètres Python et accès à ces paramètres dans AWS Glue dans le Guide du développeur AWS Glue.

    • Tags (Balises) — Vous pouvez ajouter des balises à la tâche pour mieux les organiser et les identifier.

  6. Après avoir modifié les propriétés de la tâche, sauvegardez la tâche.

Stocker les fichiers Spark shuffle sur Amazon S3

Certaines tâches ETL nécessitent la lecture et la combinaison d'informations provenant de plusieurs partitions, par exemple lors de l'utilisation d‘une transformation de jointure. Cette opération est appelée shuffling (brassage). Lors d'un brassage, les données sont écrites sur le disque et transférées sur le réseau. Avec AWS Glue version 3.0, vous pouvez configurer Amazon S3 comme emplacement de stockage pour ces fichiers. AWS Glue fournit un gestionnaire de brassage qui écrit et lit les fichiers de brassage vers et depuis Amazon S3. L'écriture et la lecture de fichiers de brassage à partir d'Amazon S3 sont plus lentes (de 5 à 20 %) par rapport au disque local (ou Amazon EBS qui est fortement optimisé pour Amazon EC2). Toutefois, Amazon S3 offre une capacité de stockage illimitée, de sorte que vous n'avez pas à vous soucier des erreurs « No space left on device » lors de l'exécution de votre tâche.

Pour configurer votre tâche de manière à utiliser Amazon S3 pour les fichiers de brassage
  1. Sur la page Jobs (Tâches), dans la liste our jobs (Vos tâches), choisissez le nom de la tâche que vous souhaitez modifier.

  2. Sur la page de l'éditeur visuel, choisissez l'onglet Job details (Détails de la tâche) en haut du volet de modification des tâches.

    Faites défiler jusqu'à la section Job parameters (Paramètres de la tâche).

  3. Spécifiez les paires clé-valeur suivantes.

    • --write-shuffle-files-to-s3true

      Il s'agit du paramètre principal qui configure le gestionnaire de brassage dans AWS Glue pour utiliser les compartiments Amazon S3 pour l'écriture et la lecture des données de brassage. Par défaut, ce paramètre a une valeur de false.

    • (Facultatif) --write-shuffle-spills-to-s3true

      Ce paramètre vous permet de décharger les fichiers de déversement vers des compartiments Amazon S3, ce qui fournit une résilience supplémentaire à votre tâche Spark dans AWS Glue. Ceci n'est requis que pour les charges de travail volumineuses qui déversent beaucoup de données sur le disque. Par défaut, ce paramètre a une valeur de false.

    • (Facultatif) --conf spark.shuffle.glue.s3ShuffleBucketS3://<shuffle-bucket>

      Ce paramètre spécifie le compartiment Amazon S3 à utiliser lors de l'écriture des fichiers de brassage. Si vous ne définissez pas ce paramètre, l'emplacement est le dossier shuffle-data dans l'emplacement spécifié pour Temporary path (Chemin temporaire) (--TempDir).

      Note

      Vérifiez que l'emplacement du compartiment de brassage se situe dans la même Région AWS que celle dans laquelle la tâche s'exécute.

      En outre, le service de brassage ne nettoie pas les fichiers une fois la tâche terminée. Vous devez donc configurer les stratégies de cycle de vie de stockage Amazon S3 sur l'emplacement du compartiment de brassage. Pour plus d'informations, veuillez consulter Gestion du cycle de vie des objets dans le Guide de l'utilisateur Amazon S3.

Sauvegarder la tâche

Un rappel rouge Job has not been saved (La tâche n'a pas été sauvegardée) s'affiche à gauche du bouton Save (Enregistrer) jusqu'à ce que vous sauvegardiez la tâche.

Un ovale rouge portant l'étiquette « Job has not been saved (La tâche n'a pas été sauvegardée) » à gauche du bouton Enregistrer.
Pour sauvegarder votre tâche
  1. Fournissez toutes les informations requises dans les onglets Visual (Visuel) et Job details (Détails de la tâche).

  2. Choisissez le bouton Enregistrer.

    Après avoir enregistré la tâche, le rappel « not saved (non sauvegardée) » change pour afficher l'heure et la date de la dernière sauvegarde de la tâche.

Si vous quittez AWS Glue Studio avant d'enregistrer votre tâche, la prochaine fois que vous vous connectez à AWS Glue Studio, une notification s'affiche. La notification indique qu'il existe une tâche non enregistrée et vous demande si vous souhaitez la restaurer. Si vous choisissez de restaurer la tâche, vous pouvez continuer à la modifier.

Résolution des erreurs lors de l'enregistrement d‘une tâche

Si vous choisissez le bouton Save (Enregistrer), mais qu'il manque certaines informations requises dans votre tâche, un rappel rouge apparaît sur l'onglet où les informations sont manquantes. Le numéro dans le rappel indique le nombre de champs manquants détectés.

Une capture d'écran montrant les onglets du volet de l'éditeur visuel pour une tâche nommée « Tâche sans titre » avec un rappel étiqueté 2 sur l'onglet Visuel et un rappel étiqueté 1 sur l'onglet Détails de la tâche.
  • Si un nœud de l'éditeur visuel n'est pas configuré correctement, l'onglet Visual (Visuel) affiche un rappel rouge et le nœud erroné affiche un symbole d‘avertissement A red triangle with an exclamation point in the center .

    1. Choisissez le nœud. Dans le panneau de détails du nœud, un rappel rouge apparaît sur l'onglet où se trouvent les informations manquantes ou incorrectes.

    2. Choisissez l'onglet dans le panneau de détails du nœud qui affiche un rappel rouge, puis recherchez les champs problématiques qui sont mis en évidence. Un message d'erreur sous les champs fournit des informations supplémentaires sur le problème.

      Une capture d'écran montrant l'onglet Visuel dans l'éditeur de tâches, qui est marqué d'un rappel étiqueté 2. Le nœud de source de données, qui est marqué d‘une étiquette d'avertissement, est sélectionné. Dans le panneau de détails du nœud, l'onglet de propriétés de la source de données comporte un rappel étiqueté 2 et est sélectionné. Deux champs, Base de données et Table, sont décrits en rouge et comportent des messages en dessous indiquant qu‘une valeur est requise dans ces champs.
  • S'il y a un problème avec les propriétés de la tâche, l'onglet Job details (Détails de la tâche) affiche un rappel rouge. Choisissez cet onglet et localisez les champs problématiques, qui sont mis en évidence. Les messages d'erreur situés sous les champs fournissent des informations supplémentaires sur le problème.

    Une capture d'écran montrant l'onglet Détails de la tâche dans l'éditeur de tâche, qui est marqué d'un rappel étiqueté 1. Le champ « Rôle IAM » est décrit en rouge et comporte un message en dessous indiquant qu‘une valeur est requise.

Cloner une tâche

Vous pouvez utiliser l'action Clone job (Cloner la tâche) pour copier une tâche existante dans une nouvelle tâche.

Pour créer une tâche en copiant une tâche existante
  1. Sur la page Jobs (Tâches), dans la liste our jobs (Vos tâches), choisissez la tâche que vous souhaitez dupliquer.

  2. Dans le menu Actions, choisissez Clone job (Cloner la tâche).

  3. Entrez le nom de la nouvelle tâche. Vous pouvez ensuite enregistrer ou modifier la tâche.

Supprimer une tâche

Vous pouvez supprimer des tâches dont vous n'avez plus besoin. Vous pouvez supprimer une ou plusieurs tâches en une seule opération.

Pour supprimer des tâches de AWS Glue Studio
  1. Sur la page Jobs (Tâches), dans la liste our jobs (Vos tâches), choisissez les tâches que vous souhaitez supprimer.

  2. Dans le menu Actions, choisissez Delete job (Supprimer la tâche).

  3. Vérifiez que vous souhaitez supprimer la tâche en saisissant delete.

Vous pouvez également supprimer une tâche enregistrée lorsque vous consultez l'onglet Job details (Détails de la tâche) dans l'éditeur visuel.