Glue

AWS Glue est le service d’intégration de données serverless d’AWS : il découvre les données, catalogue leur schéma et exécute des traitements ETL sur Apache Spark.

Qu’est-ce qu’AWS Glue ?

AWS Glue est le service d’intégration de données d’Amazon Web Services. Il découvre les données là où elles sont stockées, enregistre leur schéma dans un catalogue central, puis exécute les traitements qui les nettoient et les transforment avant de les charger vers leur destination.

Le service est serverless : aucune machine à provisionner ni à maintenir. On décrit le traitement, AWS alloue la puissance de calcul le temps de l’exécution, puis la libère.

Le mot « glue » a aussi un sens plus général en développement. Le glue code désigne du code sans logique métier propre, écrit uniquement pour faire tenir ensemble deux composants qui ne parlent pas le même format. Les deux sens partagent l’idée de raccordement, mais AWS Glue est un produit précis, pas une catégorie d’outils.

À quoi sert AWS Glue ?

Glue répond au problème des données éparpillées : une base de production ici, des fichiers déposés sur S3 là, un entrepôt Redshift ailleurs, chacun avec ses formats et ses conventions de nommage.

Les usages les plus fréquents :

  • Alimenter un data lake ou un entrepôt de données à partir de sources hétérogènes.
  • Convertir des fichiers CSV ou JSON en Parquet, ce qui réduit fortement le volume lu par les requêtes Athena.
  • Nettoyer et dédupliquer avant analyse : normaliser des dates, réconcilier des identifiants clients, écarter les lignes incomplètes.
  • Tenir à jour un inventaire des jeux de données disponibles et de leur structure, pour que les équipes analytiques sachent ce qui existe.

Comment fonctionne AWS Glue ?

Un crawler parcourt une source de données, déduit la structure des fichiers ou des tables et écrit le résultat dans le Glue Data Catalog. Ce catalogue sert ensuite de référence commune à Athena, Redshift Spectrum et Amazon EMR, qui interrogent les mêmes définitions de tables.

Le traitement lui-même prend la forme d’un job. Trois formes existent : un job Spark écrit en PySpark ou en Scala, un job Python léger pour les traitements qui ne justifient pas un cluster, et un job de streaming pour les flux continus. Glue Studio permet aussi de composer un traitement de façon visuelle, en reliant des blocs, avant de récupérer le code généré.

Glue ajoute une abstraction propre à Spark, le DynamicFrame, qui tolère des schémas irréguliers d’une ligne à l’autre. Les signets de job (job bookmarks) mémorisent ce qui a déjà été traité, ce qui évite de rejouer l’intégralité d’un historique à chaque exécution.

La facturation repose sur les DPU, des unités de traitement, comptées à la durée d’exécution. Un job mal découpé qui relit tout l’historique chaque nuit coûte donc bien plus cher qu’un job incrémental, à résultat identique.

AWS Glue, Lambda ou EMR : quelle différence ?

AWS Lambda exécute une fonction courte en réaction à un événement. Il convient pour transformer un fichier au moment de son dépôt, tant que le traitement tient dans la limite de durée d’exécution et ne demande pas de calcul distribué.

Amazon EMR fournit un cluster Hadoop ou Spark que l’équipe configure elle-même. Plus souple sur les versions et les bibliothèques, plus lourd à administrer. On y passe quand Glue devient contraignant ou quand le volume justifie un cluster permanent.

Glue occupe la position intermédiaire : la puissance de Spark sans le cluster à gérer, au prix d’un contrôle plus limité sur l’environnement d’exécution.

Chez les concurrents, les services comparables sont Azure Data Factory chez Microsoft et Dataflow chez Google Cloud. Côté outils indépendants, on croise Airflow pour l’orchestration et dbt pour les transformations SQL, souvent utilisés en complément plutôt qu’en remplacement.

Exemples ou cas d’usage concrets

Une enseigne de retail reçoit chaque nuit les ventes de ses magasins dans des formats différents. Un crawler détecte les nouveaux fichiers déposés sur S3, un job Glue les harmonise et les écrit en Parquet partitionné par date, ce qui rend les requêtes Athena beaucoup plus rapides.

Une plateforme B2B collecte des prospects depuis plusieurs sources. Un job Glue rapproche les doublons sur le nom de société et le domaine de messagerie, puis alimente le CRM avec une base nettoyée.

Une direction financière consolide les données de trois filiales aux plans comptables distincts. Le Data Catalog documente chaque table et son origine, ce qui évite les interprétations divergentes en réunion de clôture.

Une équipe data prépare les jeux d’entraînement d’un modèle de machine learning. Glue effectue le nettoyage et l’agrégation, SageMaker prend le relais pour l’entraînement.

Quels profils travaillent avec AWS Glue ?

AWS Glue apparaît principalement dans les offres de data engineer. C’est un outil de fabrication de pipelines, rarement manipulé par les analystes.

  • Data engineer : conçoit les jobs, gère les schémas, optimise le partitionnement et surveille les coûts d’exécution.
  • Analytics engineer : intervient en aval sur les modèles de données exposés aux équipes métier, souvent avec dbt.
  • Architecte data : arbitre entre Glue, EMR et les outils tiers selon les volumes, les compétences en place et le budget.

Les compétences attendues sont assez stables d’une annonce à l’autre : Python et SQL, Spark, la connaissance des formats colonnes comme Parquet, et l’écosystème AWS autour de S3, Athena et Redshift. La difficulté du poste tient moins à Glue lui-même qu’à la capacité à concevoir un pipeline incrémental et à en maîtriser la facture.

Vous recrutez en tech ?

On vous aide à qualifier le besoin, sourcer et recruter.

Vous cherchez un emploi en tech ?

Prenez rendez-vous avec Léna, notre coach carrière.

FAQ

Vous avez une question ? Obtenez une réponse !

À intégrer des données dispersées : découvrir les sources, cataloguer leur schéma, puis nettoyer et transformer les données avant de les charger vers un data lake, un entrepôt ou un outil d’analyse.

Il stocke la définition des tables et de leurs colonnes. Athena, Redshift Spectrum et Amazon EMR s’y réfèrent, ce qui évite de redéclarer les mêmes schémas dans chaque outil.

Lambda exécute une fonction courte déclenchée par un événement, sans calcul distribué. Glue s’appuie sur Apache Spark et traite des volumes qui dépassent ce qu’une fonction peut absorber.

EMR est un cluster Spark ou Hadoop que l’équipe configure et administre. Glue fournit Spark en mode serverless, plus simple à exploiter mais moins paramétrable.

À l’usage, sur la base de DPU (unités de traitement) consommées pendant l’exécution des jobs et des crawlers. Un traitement incrémental coûte donc nettement moins qu’un job qui relit tout l’historique.

Termes similaires