Qu'est-ce que la colle AWS et comment l'utilisez-vous?
AWS Glue est un service d'extraction, de transformation et de chargement géré (ETL) qui est capable de traiter les données stockées dans S3 ou DynamoDB et de les convertir en différents formats ou schémas pour une utilisation plus facile dans d'autres services comme Athena.
Sommaire
Pourquoi utiliser AWS Glue?
AWS Glue est destiné aux personnes qui ont trop de données à traiter. Peut-être que vous avez toute une flotte de serveurs, et chacun d'entre eux crache des fichiers journaux. Vous ingérez ces données dans S3 pour un stockage facile, mais il y en a beaucoup, et elles doivent être traitées en premier avant d'être analysées avec Athena. Peut-être que vous n'êtes intéressé que par quelques colonnes des données et que vous souhaitez supprimer le reste.
AWS Glue peut gérer cela; il se situe entre vos données S3 et Athena, et traite les données comme un utilitaire tel que sed
ou awk
serait sur la ligne de commande. En configurant un robot, vous pouvez importer des données stockées dans S3 dans votre catalogue de données, le même catalogue utilisé par Athena pour exécuter des requêtes. Vous pouvez ensuite modifier ces données pour supprimer les colonnes inutiles ou convertir entre les formats.
AWS Glue peut également convertir automatiquement CSV et d'autres formats délimités au format en colonnes Apache Parquet, ce qui est fortement recommandé pour toute personne travaillant avec Athena, car il peut réduire vos coûts d'un ordre de grandeur car il nécessite beaucoup moins de données à traiter.
Comment commencer
Rendez-vous sur la console AWS Glue et sélectionnez «Commencer». Dans l'onglet "Crawers", sélectionnez "Create Crawler" et donnez-lui un nom. Choisissez «Data Stores» comme type d'importation et configurez-le pour importer des données à partir du compartiment S3 où vos données sont conservées.
Ensuite, créez un nouvel utilisateur IAM pour que le robot fonctionne comme. Créez-le à partir de cette boîte de dialogue, puis sélectionnez-le dans la liste (vous devrez peut-être appuyer sur le bouton d'actualisation à côté de la liste).
Vous pouvez donner à votre robot un calendrier en utilisant la norme cron
ou en sélectionnant l'une des options prédéfinies. Vous pouvez également le faire exécuter manuellement à partir de la console si vous le souhaitez.
Choisissez une base de données de sortie dans votre catalogue de données. Si vous avez déjà utilisé Athena, vous pouvez avoir une base de données personnalisée, mais sinon, celle par défaut devrait fonctionner correctement. Le robot crée lui-même une table dans laquelle stocker les données.
Conversion de données
Une fois vos données importées dans votre base de données de catalogue de données, vous pouvez les utiliser dans d'autres fonctions AWS Glue. Par exemple, si vous souhaitez traiter vos données, vous pouvez créer un nouveau travail à partir de l'onglet «Travaux» pour gérer la conversion des données.
Donnez un nom au travail et sélectionnez votre rôle IAM. Sélectionnez «Un script proposé généré par AWS Glue» comme script d'exécution du travail, sauf si vous souhaitez en écrire un manuellement.
Dans l'onglet suivant, sélectionnez la table dans laquelle vos données ont été importées par le robot. Cliquez sur suivant, puis sélectionnez «Changer le schéma» comme type de transformation.
Vous pouvez choisir de créer de nouveaux fichiers ou de mettre à jour les fichiers actuels avec le nouveau schéma à la place. Si vous convertissez au format Parquet ou à d'autres formats, vous devez créer de nouveaux fichiers.
À partir de la page suivante, vous pouvez configurer où toute la magie se produit. Chaque colonne du fichier source est mappée sur une colonne du fichier de sortie. Vous pouvez supprimer des colonnes et en ajouter de nouvelles si vous le souhaitez. Par défaut, il s'agit d'un mappage un à un. Par conséquent, si vous effectuez simplement une conversion entre des formats, vous pouvez ignorer cette page.
Ensuite, vous êtes amené à l'éditeur de script, où AWS a préchargé un script qui exécute la transformation correcte pour vous. Vous pouvez l'exécuter manuellement à partir de cet onglet dans la console ou le configurer avec un déclencheur pour qu'il s'exécute selon un calendrier fixe.
Athena peut également être configuré pour charger des données à partir d'un robot AWS Glue, plutôt qu'à partir d'un chemin fixe dans S3. Vous pouvez également l'utiliser pour contrôler plus finement les données importées.