Q : Qu'est-ce qu'AWS Glue ?

AWS Glue est un service entièrement géré d'extraction, de transformation et de chargement (ETL) des données qui automatise les étapes chronophages de préparation des données en vue de les analyser. Le service AWS Glue découvre et établit le profil de vos données automatiquement par le biais du catalogue de données Glue. Il génère le code ETL permettant de transformer vos données sources en schémas cibles et il exécute la tâche ETL dans un environnement Apache Spark entièrement géré et à dimensionnement progressif pour charger vos données vers leur destination. Il vous permet également d'installer, d'orchestrer et de surveiller les flux de données complexes.

Q : Comment démarrer avec AWS Glue ?

Pour commencer à utiliser Amazon Glue, connectez-vous simplement à AWS Management Console et accédez à « Glue » dans la catégorie « Analytics ». Vous pouvez suivre l'un de nos tutoriels qui vous guidera dans un exemple de cas d'utilisation pour AWS Glue. Vous trouverez également des exemples de code ETL dans notre référentiel GitHub sous AWS Labs.

Q. Quels sont les principaux composants d'AWS Glue ?

AWS Glue comprend un catalogue de données qui est un référentiel de métadonnées centrales, un moteur ETL qui peut automatiquement générer du code Python, et un planificateur flexible qui traite la résolution des dépendances, la surveillance des tâches et les tentatives en cas d'échec. Ensemble, ces fonctionnalités automatisent une grande partie des lourdes tâches impliquées dans la découverte, la catégorisation, le nettoyage, l'enrichissement et le déplacement des données. Ainsi vous pouvez passer plus de temps à analyser vos données.

Q : Quand faut-il utiliser AWS Glue ?

Utilisez AWS Glue pour découvrir les propriétés des données que vous possédez, les transformer et les préparer pour analyse. Glue peut automatiquement découvrir les données structurées et semi-structurées dans vos lac de données sur Amazon S3, entrepôt de données dans Amazon Redshift et différentes bases de données exécutées sur AWS. Ce service fournit une vue unifiée de vos données via le catalogue de données Glue qui est disponible pour les tâches ETL en interrogeant et établissant des rapports à l'aide de services tels qu'Amazon Athena, Amazon EMR et Amazon Redshift Spectrum. Glue génère automatiquement du code Python pour vos tâches ETL et vous pouvez le personnaliser davantage en utilisant les outils que vous connaissez déjà. AWS Glue est sans serveur, il n'y a donc aucune ressource de calcul à configurer ou gérer.

Q : Quelles sont les sources de données prises en charge par AWS Glue ?

AWS Glue prend en charge dès le départ les données stockées dans Amazon Aurora, Amazon RDS pour MySQL, Amazon RDS pour Oracle, Amazon RDS pour PostreSQL, Amazon RDS pour SQL Server, Amazon Redshift et Amazon S3, ainsi que dans les bases de données MySQL, Oracle, Microsoft SQL Server et PostgreSQL dans votre Virtual Private Cloud (Amazon VPC) s'exécutant sur Amazon EC2. Les métadonnées stockées dans le catalogue de données AWS Glue sont facilement accessibles à partir d'Amazon Athena, Amazon EMR et Amazon Redshift Spectrum. Vous pouvez également écrire du code PySpark et importer des bibliothèques personnalisées dans vos tâches ETL Glue pour accéder aux sources de données qui ne sont pas prises en charge de manière native par AWS Glue. Pour en savoir plus sur l'importation de bibliothèques personnalisées, consultez notre documentation.

Haut de la page »


Q : Qu'est-ce que le catalogue de données AWS Glue ?

Le catalogue de données AWS Glue est un référentiel central pour stocker les métadonnées structurelles et opérationnelles de toutes vos données. Pour un ensemble de données particuliers, vous pouvez stocker la définition de sa table et son emplacement physique, ajouter les attributs pertinents de l'entreprise et suivre les modifications apportées aux données dans le temps.

Le catalogue de données AWS Glue est compatible avec le metastore Apache Hive et sert de remplacement instantané au metastore Apache Hive pour les applications Big Data exécutées sur Amazon EMR. Pour en savoir plus sur l'installation de votre cluster EMR afin d'utiliser le catalogue de données AWS Glue comme metastore Apache Hive, cliquez ici.

Le catalogue de données AWS Glue s'intègre également à Amazon Athena, Amazon EMR et Amazon Redshift Spectrum. Lorsque vous ajoutez vos définitions de table au catalogue de données Glue, elles deviennent disponibles pour les tâches ETL et sont également facilement interrogeables dans Amazon Athena, Amazon EMR, et Amazon Redshift Spectrum. Vous obtenez ainsi une vue commune de vos données entre ces services.

Q : Comment intégrer mes métadonnées au catalogue de données AWS Glue ?

AWS Glue propose plusieurs méthodes pour alimenter les métadonnées dans le catalogue de données AWS Glue. Les robots d'analyse de Glue peuvent analyser les différents magasins de données que vous possédez pour en déduire automatiquement des schémas et une structure de partition, et alimenter le catalogue de données Glue avec les définitions de table et les statistiques correspondantes. Vous pouvez également planifier l'exécution régulière de robots d'analyse pour que vos métadonnées soient toujours à jour et synchronisées avec les données sous-jacentes. Vous avez aussi la possibilité d'ajouter et de mettre à jour les détails de la table manuellement en utilisant AWS Glue Console ou par un appel d'API. Vous pouvez exécuter les instructions DDL Hive via la console Amazon Athena ou un client Hive sur un cluster Amazon EMR. Enfin, si vous possédez déjà un metastore Apache Hive persistant, vous pouvez effectuer une importation globale de ces métadonnées dans le catalogue de données AWS Glue en utilisant notre script d'importation.

Q : Que sont les robots d'analyse AWS Glue ?

Un robot d'analyse AWS Glue se connecte à un magasin de données, progresse en passant par une liste hiérarchique de classificateurs afin d'extraire le schéma et d'autres statistiques de vos données, puis alimente le catalogue de données Glue avec ses métadonnées. Les robots peuvent être exécutés régulièrement pour détecter la présence de nouvelles données ainsi que des changements aux données existantes, y compris les changements apportés à la définition à la table. Les robots ajoutent automatiquement de nouvelles tables, de nouvelles partitions aux tables existantes et de nouvelles versions des définitions des tables. Vous pouvez personnaliser les robots d'analyse Glue pour classer vos propres types de fichiers

Q : Comment puis-je importer des données de mon metastore Apache Hive existant vers le catalogue de données AWS ?

Exécutez simplement une tâche ETL qui lit votre metastore Apache Hive, exporte les données dans un format intermédiaire vers Amazon S3, puis les importe dans le catalogue de données AWS Glue.

Q : Faut-il que je maintienne mon metastore Apache Hive si je stocke mes métadonnées dans le catalogue de données AWS Glue ?

Non. Le catalogue de données AWS Glue est compatible avec le metastore Apache Hive. Vous pouvez pointer vers le point de terminaison du catalogue de données Glue et l'utiliser à la place du metastore Apache Hive. Pour en savoir plus sur la manière de configurer votre cluster afin d'utiliser votre catalogue de données AWS Glue en tant que metastore Apache Hive, consultez notre documentation ici.

Q. Si j'utilise déjà Amazon Athena ou Amazon Redshift Spectrum et que j'ai des tables dans le catalogue de données internes d'Amazon Athena, comment puis-je commencer à utiliser le catalogue de données AWS Glue comme référentiel de métadonnées commun ?

Avant de pouvoir commencer à utiliser le catalogue de données AWS Glue comme référentiel de métadonnées commun entre Amazon Athena, Amazon Redshift Spectrum et AWS Glue, vous devez faire passer le catalogue de données Amazon Athena à la version du catalogue de données AWS Glue. Les étapes requises pour cette opération sont détaillées ici.

Haut de la page »


Q : Comment puis-je personnaliser le code ETL généré par AWS Glue ?

Le système de recommandation de script ETL d'AWS Glue génère du code PySpark. Il se sert de la bibliothèque ETL personnalisée de Glue pour simplifier l'accès aux sources de données et gérer l'exécution des tâches. Pour en savoir plus sur la bibliothèque, consultez notre documentation. Vous pouvez écrire du code ETL en utilisant la bibliothèque personnalisée de Glue ou du code Spark arbitraire en Python (code PySpark) en modifiant le code en ligne via l'éditeur de scripts AWS Glue Console, en téléchargeant le code auto-généré et en le modifiant dans votre propre environnement de développement intégré. Vous pouvez également commencer avec l'un des nombreux exemples qui se trouvent dans notre référentiel Github et personnaliser ce code.

Q : Puis-je importer des bibliothèques personnalisées dans le cadre de mon script ETL ?

Oui. Vous pouvez importer des bibliothèques PySpark dans votre tâche ETL AWS Glue. Pour en savoir plus, consultez notre documentation ici.

Q : Puis-je apporter mon propre code ?

Oui. Vous pouvez écrire votre propre code à l'aide de la bibliothèque ETL d'AWS Glue, ou écrire votre propre code PySpark, puis le télécharger vers une tâche ETL Glue. Pour en savoir plus, consultez notre documentation ici.

Q : Comment puis-je développer mon code ETL en utilisant mon propre environnement de développement intégré (IDE) ?

Vous pouvez créer et vous connecter à des points de terminaison de développement qui offrent le moyen de connecter vos notebooks et environnement IDE.

Q : Comment puis-je développer des workflows ETL de bout en bout en utilisant plusieurs tâches dans AWS Glue ?

Outre la bibliothèque ETL et la génération de codes, AWS Glue fournit un ensemble robuste de fonctionnalités d'orchestration qui vous permettent de gérer les dépendances entre plusieurs tâches afin de développer des workflow ETL de bout en bout. Les tâches ETL AWS Glue peuvent être déclenchées selon un calendrier ou lorsqu'un événement se termine. Plusieurs tâches peuvent être déclenchées parallèlement ou séquentiellement lors d'un événement de fin de tâche. Vous pouvez également déclencher une ou plusieurs tâches Glue à partir d'une source externe telle qu'une fonction AWS Lambda.

Q : Comment AWS Glue surveille les dépendances ?

AWS Glue gère les dépendances entre deux ou plusieurs tâches ou les dépendances sur les événements externes en utilisant des déclencheurs. Les déclencheurs peuvent surveiller et invoquer une ou plusieurs tâches. Vous pouvez avoir un déclencheur planifié qui invoque les tâches régulièrement, un déclencheur à la demande, ou un déclencheur en fonction de la fin d'un événement.

Q : Comment le service AWS Glue traite-t-il les erreurs ?

AWS Glue surveille les mesures et les erreurs des événements de tâche et envoie toutes les notifications à Amazon CloudWatch. Avec Amazon CloudWatch, vous pouvez configurer toute une série d'actions déclenchables en fonction de des notifications particulières provenant d'AWS Glue. Par exemple, si vous obtenez une notification d'erreur ou de réussite de Glue, vous pouvez déclencher une fonction AWS Lambda. En outre, le service Glue lance par défaut trois nouvelles tentatives après échec, avant d'envoyer une notification d'erreur.

Q : Puis-je exécuter mes tâches ETL existantes avec AWS Glue ?

Oui. Vous pouvez exécuter votre code PySpark existant dans AWS Glue. Téléchargez simplement le code vers Amazon S3 et créez une ou plusieurs tâches qui utilisent ce code. Vous pouvez réutiliser le même code sur plusieurs tâches en pointant vers le même emplacement de code sur Amazon S3.

Q : Comment puis-je utiliser AWS Glue pour diffuser les données ETL ?

L'extraction, le transport et le chargement (ETL) des données avec AWS Glue s'effectue par lot et vous pouvez planifier vos tâches ETL par intervalles de 5 minutes minimum. Bien que le service puisse traiter des micro-lots, il ne traite pas les données diffusées. Si votre cas d'utilisation exige l'extraction, le transport, et le chargement de données pendant leur diffusion, vous pouvez effectuer la première partie de la tâche ETL en utilisant Amazon Kinesis, Amazon Kinesis Firehose ou Amazon Kinesis Analytics, puis stocker les données vers Amazon S3 ou Amazon Redshift et déclencher une tâche ETL Glue pour récupérer cet ensemble de données et continuer à y appliquer des transformations supplémentaires.

Q : Faut-il utiliser à la fois le catalogue de données AWS Glue et ETL Glue pour utiliser le service ?

Non. Bien que nous pensions que l'utilisation du catalogue de données AWS Glue et le service d'extraction, de transport et de chargement (ETL) des données fournissent une expérience ETL de bout en bout, vous pouvez les utiliser indépendamment l'un de l'autre.

Haut de la page »


Q : Quand faut-il utiliser AWS Glue plutôt que AWS Data Pipeline ?

AWS Glue fournit un service ETL géré qui est exécuté dans un environnement Apache Spark sans serveur. Ceci vous permet de vous concentrer sur vos tâches ETL au lieu de vous inquiéter de la configuration et de la gestion des ressources de calcul sous-jacentes. AWS Glue suit l'approche de priorisation des données et vous permet de vous concentrer sur les propriétés et la manipulation des données pour les transformer de telle sorte que vous pouvez en tirer des informations importantes pour votre entreprise. Ce service fournit un catalogue de données intégrées qui rend les métadonnées disponibles pour leur extraction, transport et chargement (ETL) ainsi que pour leur interrogation via Amazon Athena et Amazon Redshift Spectrum.

AWS Data Pipeline fournit un service d'orchestration gérée qui vous donne une plus grande flexibilité en termes d'environnement d'exécution, d'accès et de contrôle sur les ressources de calcul qui exécutent votre code ainsi que sur le code lui-même qui réalise le traitement des données. AWS Data Pipeline lance les ressources de calcul dans votre compte et vous donne un accès direct aux instances Amazon EC2 ou aux clusters Amazon EMR.

En outre, les tâches AWS Glue ETL sont basées sur PySpark. Si votre cas d'utilisation exige que vous utilisiez un moteur autre qu'Apache Spark ou si vous voulez exécuter un ensemble de tâches hétérogènes sur différents moteurs tels que Hive, Pig, etc., AWS Data Pipeline est un meilleur choix.

Q : Quand faut-il utiliser AWS Glue plutôt qu'Amazon EMR ?

AWS Glue fonctionne sur l'environnement Apache Spark pour fournir un environnement d'exécution à dimensionnement progressif pour les tâches de transformation de vos données. AWS Glue fait des déductions, évolue et surveille vos tâches ETL et simplifie grandement le processus de création et de maintenance des tâches. Amazon EMR vous permet d'avoir un accès direct à votre environnement Hadoop et vous accorde un accès au plus bas niveau et une plus grande flexibilité dans l'utilisation d'outils en dehors de Spark.

Q : Quand faut-il utiliser AWS Glue plutôt qu'AWS Database Migration Service ?

AWS Database Migration Service (DMS) vous aide à migrer vos bases de données vers AWS aisément et en toute sécurité. Pour les cas d'utilisation qui exigent une migration de la base de données du site vers AWS ou une réplication de la base de données entre les sources sur site et les sources sur AWS, nous recommandons l'utilisation d'AWS DMS. Une fois que vos données se trouvent dans AWS, vous pouvez utiliser AWS Glue pour les déplacer et les transformer depuis votre source de données vers une autre base de données ou un entrepôt de données, tels qu'Amazon Redshift.

Q : Quand faut-il utiliser AWS Glue plutôt qu'AWS Batch ?

AWS Batch vous permet de facilement et efficacement exécuter toute tâche de calcul par lots sur AWS quelle que soit la nature de la tâche. AWS Batch crée et gère les ressources de calcul dans votre compte AWS et vous donne ainsi le contrôle et la visibilité des ressources utilisées. AWS Glue est un service ETL entièrement géré qui fournit un environnement Apache Spark sans serveur pour exécuter vos tâches d'extraction, de transport et de chargement (ETL) des données. Pour vos cas d'utilisation ETL, nous recommandons que vous exploriez l'utilisation d'AWS Glue. Pour les autres cas d'utilisation par lots, y compris certains cas d'utilisation ETL, AWS Batch peut être préférable.

Q : Quand faut-il utiliser AWS Glue plutôt qu'Amazon Kinesis Analytics ?

Amazon Kinesis Analytics vous permet d'exécuter des requêtes SQL standard sur votre flux de données entrant. Vous pouvez préciser une destination comme Amazon S3 pour écrire vos résultats. Une fois que vos données sont disponibles dans votre source de données cible, vous pouvez lancer une tâche ETL AWS Glue pour les transformer davantage et les préparer dans le but d'analyses et de rapports supplémentaires.

Haut de la page »


Q : Comment est facturée l'utilisation d'AWS Glue ?

Au-delà du niveau gratuit du catalogue de données AWS Glue, vous ne payez qu'un forfait mensuel simple pour stocker les métadonnées dans le catalogue de données AWS Glue et y accéder. En outre, vous serez facturé à un tarif horaire, décompté à la seconde, pour les tâches ETL et l'exécution des robots d'analyse (minimum de 10 minutes pour chacun). Si vous choisissez d'utiliser un point de terminaison de développement pour développer interactivement votre code ETL, vous serez facturé un tarif horaire, décompté à la seconde, pour la mise en service du point de terminaison de développement (minimum de 10 minutes). Pour en savoir plus, consultez notre page sur la tarification.

Q : Quand commence et se termine la facturation de mes tâches AWS Glue ?

La facturation commence dès que la tâche est planifiée pour exécution et continue jusqu'à ce qu'elle soit terminée. Avec AWS Glue, vous ne payez que pour le durée d'exécution de votre tâche et non pour la mise en service de l'environnement ou les temps d'arrêt.

Haut de la page »


Q : Comment le service AWS Glue assure-t-il la sécurité de mes données ?

Nous fournissons un chiffrement côté serveur pour les données au repos et SSL pour les données en mouvement.

Q : Quelles sont les limites de service associées à AWS Glue ?

Pour en savoir plus sur les limites de service, consultez notre documentation.

Q : Dans quelles régions le service AWS Glue est-il disponible ?

AWS Glue est actuellement disponible dans les régions USA Est (Virginie du Nord), USA Est (Ohio) et USA Ouest (Oregon), et sera étendu à d'autres régions au cours des prochains mois. Pour en savoir plus, consultez notre page de tarification.

Q : Combien d'unités de traitement des données (DPU) sont allouées au point de terminaison de développement ?

Par défaut, un point de terminaison de développement est mis en service avec 5 DPU. Vous pouvez configurer un point de terminaison de développement avec un minimum de 2 DPU et un maximum de 5 DPU.

Q : Comment puis-je adapter la taille et la performance de mes tâches ETL AWS Glue ?

Vous pouvez simplement spécifier le nombre de DPU (units de traitement des données) que vous voulez allouer à votre tâche ETL. Une tâche ETL Glue exige un minimum de 2 DPU. Par défaut, AWS Glue alloue 10 DPU à chaque tâche ETL.

Q : Comment puis-je surveiller l'exécution de mes tâches AWS Glue ?

AWS Glue indique l'état de chaque tâche et envoie toutes les notifications aux événements Amazon CloudWatch. Vous pouvez configurer les notifications SNS par le biais d'actions CloudWatch pour être informé de l'échec ou de la fin d'une tâche.

Haut de la page »