Concepts 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.

Concepts AWS Glue

AWS Glue est un service ETL (extraction, transformation, chargement) entièrement géré qui vous permet de déplacer facilement des données entre différentes sources de données et cibles. Les composants clés sont les suivants :

  • Catalogue de données : magasin de métadonnées contenant des définitions de tables, des définitions de tâches et d’autres informations de contrôle pour vos flux de travail ETL.

  • Robots : programmes qui se connectent à des sources de données, déduisent des schémas de données et créent des définitions de tables de métadonnées dans le catalogue de données.

  • Tâches ETL : logique métier permettant d’extraire les données des sources, de les transformer à l’aide de scripts Apache Spark et de les charger dans des cibles.

  • Déclencheurs : mécanismes permettant de lancer des exécutions de tâches en fonction de calendriers ou d’événements.

Le flux de travail type implique :

  1. Définissez les sources de données et les cibles dans le catalogue de données.

  2. Utilisez les robots pour renseigner le catalogue de données avec des métadonnées de table provenant de sources de données.

  3. Définissez des tâches ETL avec des scripts de transformation pour déplacer et traiter les données.

  4. Exécutez des tâches à la demande ou en fonction de déclencheurs.

  5. Surveillez les performances des tâches à l’aide de tableaux de bord.

Le schéma suivant illustre l’architecture d’un environnement AWS Glue.

Concepts de base pour remplir votre catalogue de données et traiter le flux de données ETL dans AWS Glue.

Vous définissez des tâches dans AWS Glue pour effectuer le travail nécessaire à l’extraction, à la transformation et au chargement des données (ETL) depuis une source de données vers une cible de données. Généralement, vous effectuez les actions suivantes :

  • Pour les sources de magasins de données, vous définissez un crawler pour remplir votre AWS Glue Data Catalog avec les définitions de table des métadonnées. Vous associez votre crawler à un magasin de données, et le crawler crée les définitions de table dans le catalogue de données. Pour les sources en streaming, vous définissez manuellement les tables du catalogue de données et spécifiez les propriétés du flux des données.

    Outre les définitions de table, l’AWS Glue Data Catalog contient d’autres métadonnées nécessaires à la définition des tâches ETL. Vous utilisez ces métadonnées lorsque vous définissez une tâche pour transformer vos données.

  • AWS Glue peut générer un script pour transformer vos données. Ou vous pouvez fournir le script dans l’API ou la console AWS Glue.

  • Vous pouvez exécuter votre tâche à la demande ou la configurer pour qu’elle démarre lorsqu’un déclencheur spécifié est mis en action. Le déclencheur peut être une planification temporelle ou un événement.

    Lorsque votre tâche s’exécute, un script extrait les données de la source de données, les transforme et les charge sur la cible de données. Le script s’exécute dans un environnement Apache Spark, dans AWS Glue.

Important

Les tables et les bases de données d’AWS Glue sont des objets de l’AWS Glue Data Catalog. Elles contiennent des métadonnées, mais aucune donnée d’un magasin de données.

Les données de type texte, comme les CSV, doivent être codées en UTF-8 pour qu’AWS Glue puisse les traiter correctement. Pour plus d’informations, veuillez consulter la page Wikipédia UTF-8.

Terminologie AWS Glue

AWS Glue s’appuie sur l’interaction de plusieurs composants pour créer et gérer votre flux de travail Extraction, transformation et chargement (ETL).

AWS Glue Data Catalog

Le magasin de métadonnées permanent dans AWS Glue. Il contient les définitions de table et les définitions de tâche, ainsi que d’autres informations de contrôle qui vous permettent de gérer votre environnement AWS Glue. Chaque compte AWS possède un AWS Glue Data Catalog par région.

Classifieur

Détermine le schéma de vos données. AWS Glue fournit des classifieurs pour les types de fichiers courants, tels que CSV, JSON, AVRO, XML, et d’autres. Il fournit également les classifieurs des systèmes de gestion de base de données relationnelle (SGBDR) utilisant une connexion JDBC. Vous pouvez écrire votre propre classifieur à l’aide d’un modèle grok ou en spécifiant une balise de ligne dans un document XML.

Connexion

Un objet de catalogue de données qui contient les propriétés requises pour se connecter à un magasin de données particulier.

crawler

Programme qui se connecte à un magasin de données (source ou cible), parcourt la liste hiérarchisée des classifieurs pour déterminer le schéma de vos données, puis crée des tables de métadonnées dans l’AWS Glue Data Catalog.

Base de données

Ensemble de définitions de tables du catalogue de données associées, organisées en un groupe logique.

Stockage de données, source de données, cible de données

Un magasin de données est un référentiel qui permet de stocker vos données de façon permanente. Les exemples incluent les compartiments Amazon S3 et les bases de données relationnelles. Une source de données est un magasin de données qui est utilisé comme entrée d’un processus ou d’une transformation. Une cible de données est un magasin de données dans lequel écrit un processus ou une transformation.

Point de terminaison de développement

Environnement que vous pouvez utiliser pour développer et tester vos scripts ETL AWS Glue.

Trame dynamique

Table distribuée qui prend en charge les données imbriquées telles que les structures et les tableaux. Chaque enregistrement est auto-descriptif, conçu pour une flexibilité de schéma avec des données semi-structurées. Chaque enregistrement contient à la fois les données et le schéma qui les décrit. Vous pouvez utiliser des trames dynamiques et des trames de données Apache Spark dans vos scripts ETL, mais aussi les convertir entre elles. Les trames dynamiques fournissent un ensemble de transformations avancées pour le nettoyage des données, ainsi que pour l’extraction, le transfert et le chargement.

Tâche

Logique métier requise pour exécuter un travail d’extraction, de transformation et de chargement (ETL). Elle se compose d’un script de transformation, de sources de données et de cibles de données. Les exécutions des tâches sont initiées par les déclencheurs qui peuvent être planifiés ou mis en action par des événements.

Tableau de bord de performance de tâche

AWS Glue fournit un tableau de bord complet pour vos tâches ETL. Le tableau de bord affiche des informations sur les exécutions de tâche à partir d’une période spécifique.

Interface de bloc-notes

Une expérience de bloc-notes améliorée grâce à une configuration en un clic pour faciliter la création des tâches et l’exploration des données. Le bloc-notes et les connexions sont configurés automatiquement pour vous. Vous pouvez utiliser l’interface de bloc-notes basée sur le bloc-notes Jupyter pour développer, déboguer et utiliser de manière interactive des scripts et des flux de travail à l’aide d’une infrastructure Apache Spark ETL sans serveur AWS Glue. Vous pouvez également effectuer des requêtes ad hoc, des analyses de données et des visualisations (par exemple, des tableaux et des graphiques) dans l’environnement de bloc-notes.

Script

Code qui extrait les données à partir des sources, le transforme et les charge dans des cibles. AWS Glue génère des scripts PySpark ou Scala.

Tableau

Définition de métadonnées qui représente vos données. Que les données se trouvent dans un fichier Amazon Simple Storage Service (Amazon S3), une table Amazon Relational Database Service (Amazon RDS) ou un autre jeu de données, une table définit le schéma de vos données. Table de l’AWS Glue Data Catalog se compose des noms de colonne, des définitions de type de données, des informations de partition et d’autres métadonnées relatives à un ensemble de données de base. Le schéma de vos données est représenté dans votre définition de table AWS Glue. Les données réelles restent dans leur magasin de données d’origine, qu’elles se trouvent dans un fichier ou dans une table de base de données relationnelle. AWS Glue catalogue vos fichiers et tables de base de données relationnelle dans l’AWS Glue Data Catalog. Ils sont utilisés comme sources et cibles lorsque vous créez une tâche ETL.

Transformation

Logique de code qui permet de manipuler les données dans un format différent.

Déclencheur

Démarre une tâche ETL. Les déclencheurs peuvent être définis selon une heure planifiée ou un événement.

Éditeur de tâche visuel

L’éditeur visuel est une interface graphique qui facilite la création, l’exécution et le contrôle des tâches d’Extraction, transformation et chargement (ETL) dans AWS Glue. Vous pouvez composer visuellement des flux de transformation de données, les exécuter de manière transparente sur le moteur ETL sans serveur basé sur Apache Spark de AWS Glue et inspecter le schéma et les résultats des données à chaque étape de la tâche.

Nœuds

Avec AWS Glue, vous ne payez que la durée d’exécution de votre tâche ETL. Il n’y a pas de ressources à gérer, pas de coûts initiaux et les temps de démarrage ou d’arrêt ne vous sont pas facturés. Vous êtes facturé selon un taux horaire en fonction du nombre d’unités de traitement de données (ou DPU) utilisées pour exécuter vos tâches ETL. Une seule unité de traitement des données (DPU) est également appelée travailleur. AWS Glue est livré avec plusieurs types de travailleurs pour vous aider à sélectionner la configuration qui répond à vos exigences en matière de latence et de coûts des tâches. Les travailleurs sont disponibles dans des configurations standard, G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, G.025X, et des configurations R.1X, R.2X, R.4X, R.8X optimisées pour la mémoire.