AWS est le plus grand fournisseur de centres de données cloud publics et privés au monde. Dans le cadre de son portefeuille de traitement de Big Data, AWS a développé Glue et Amazon EMR. AWS Glue est un outil d'extraction, de transformation et de chargement (ETL) qui aide les data scientists à manipuler et à déplacer des données via Amazon S3.
Amazon EMR, abréviation d'Amazon Elastic MapReduce, est une plateforme de traitement de Big Data, de flux de données en temps réel, d'interrogation SQL et d'apprentissage automatique. EMR peut être utilisé pour exécuter et faire évoluer des clusters Apache Spark, entre autres moteurs de Big Data.
Bien que les deux outils offrent des capacités de traitement ETL, celui que vous choisirez dépendra fortement de votre infrastructure actuelle. Examinons AWS Glue et EMR afin que vous puissiez décider si l'utilisation des deux plateformes en parallèle ou le choix d'une seule est adapté à votre entreprise.
AWS Glue est un service d'intégration de données sans serveur disponible sur le cloud AWS. La plateforme vise à aider les analystes de données à découvrir des données provenant de diverses sources, à préparer les données dans plusieurs formats et schémas et à combiner des ensembles de données à l'aide du mappage de données. AWS Glue fonctionne avec une gamme de magasins de données tels que des bases de données, des lacs de données et des sources d'entrepôt de données.
La barrière d'entrée aux workflows ETL est abaissée grâce à des interfaces visualisées pour les utilisateurs non techniques, ainsi qu'à des interfaces basées sur du code plus puissantes pour les utilisateurs techniques. Toutes les métadonnées d'AWS Glue sont stockées dans le catalogue de données AWS Glue, ce qui signifie que tout utilisateur peut trouver et accéder aux ensembles de données pertinents.
Amazon Elastic MapReduce (EMR) est une plateforme Big Data. Elle prend en charge la diffusion de données en temps réel pour les charges de travail d'intelligence artificielle et d'apprentissage automatique via Apache Spark et d'autres moteurs d'analyse. Cela est rendu possible par des pipelines de données évolutifs qui extraient les données de la source et les transmettent à la cible. Les analyses prédictives à grande échelle et les modèles statistiques dans EMR peuvent également être utilisés pour aider à découvrir les tendances et les corrélations.
Les avantages d'EMR incluent une évolutivité de l'ordre du pétaoctet pour la moitié du coût sur site et un délai d'obtention d'informations jusqu'à deux fois plus rapide pour les charges de travail d'analyse. EMR Studio peut être utilisé pour créer des pipelines de données, visualiser le flux de données et exécuter des requêtes SQL.
AWS Glue et EMR sont tous deux capables de mettre en œuvre des processus et des flux de travail ETL. Cependant, il existe des différences fondamentales dans le fonctionnement des deux services.
AWS Glue est une plateforme d'intégration de données sans serveur qui gère l'infrastructure, les options de configuration et l'installation. Elle peut fonctionner avec des formats de données structurés et semi-structurés pour déduire automatiquement les références de schéma.
Amazon EMR est une superposition de services gérés pour les infrastructures auto-configurées, telles que les instances ou les clusters Amazon EC2. EMR propose également une option sans serveur dédiée. EMR prend en charge les composants de l'écosystème Apache Hadoop tels que Spark, Hive, HBase et Presto, avec stockage des données dans Amazon Athena, Amazon Redshift et d'autres solutions d'analyse de Big Data.
En résumé, AWS Glue est une plateforme ETL évolutive, facile à configurer et à utiliser. Cependant, sa simplicité d'utilisation s'accompagne de limites, ce qui la rend plus adaptée aux tâches nécessitant une infrastructure plus flexible. Amazon EMR dispose d'un ensemble de fonctionnalités beaucoup plus riche, notamment la compatibilité avec l'hébergement de composants Hadoop, les bibliothèques d'apprentissage automatique TensorFlow et les requêtes Presto SQL. Glue est adapté aux flux de travail ETL et d'intégration de données plus simples, tandis qu'EMR est une plateforme de services gérés d'opérations de données plus complète .
Comme pour la plupart des services cloud, plus le service est prêt à l'emploi, plus il sera cher. AWS Glue est une plateforme sans serveur, ce qui signifie que vous pouvez ignorer le déploiement et la configuration de l'infrastructure pour vous concentrer sur les flux de travail ETL.
EMR exploite les sources de données existantes pour faciliter les requêtes SQL, la diffusion de données et d'autres processus ETL. Cela se traduit par des coûts réduits, car le déploiement des données et la configuration vous incombent. Ces coûts réduits peuvent être compensés par le paiement des employés pour configurer et déployer EMR, ainsi que par les dépenses d'exploitation supplémentaires pour chaque service AWS associé.
Vous pouvez comparer le coût de chaque service pour votre cas d'utilisation prévu avec le calculateur de prix AWS.
En avril 2022, le type de worker le plus important d'AWS Glue est G.2X. Il est associé à une limite supérieure de 32 Go de mémoire d'exécution, ce qui signifie que la décompression de fichiers hautement compressés peut entraîner des erreurs de « manque de mémoire ». Alors qu'EMR peut utiliser n'importe quel type d'instance AWS, ce qui permet des allocations de RAM beaucoup plus importantes jusqu'à 24 Tebibytes (Tio).
Pour ceux qui stockent des données à grande échelle dans le cloud, il est avantageux d'utiliser des moteurs de calcul distribués, des bases de données cloud natives et des entrepôts de données. Amazon EMR et AWS Glue sont deux services que les organisations peuvent utiliser pour y parvenir. Explorons deux autres scénarios dans lesquels les tâches Glue ou EMR peuvent être plus adaptées à une utilisation séparée.
Si vous testez un tout nouveau flux de travail de données, AWS Glue peut être une meilleure option. Il vous permet d'ignorer la configuration et le déploiement de l'infrastructure et d'exécuter simplement un flux de travail de données. La nature de paiement à l'utilisation (PAYG) de Glue entraîne peu de risques de gaspillage de dépenses.
La configuration d'un cluster EMR pour les environnements de test et les flux de travail ponctuels augmenterait les efforts sans apporter beaucoup d'avantages à l'entreprise. Le seul problème serait la compatibilité de Glue avec la source de données. En revanche, EMR offre plus de flexibilité en utilisant tous les types d'instances AWS.
Pour le traitement de Big Data ou les charges de travail d'apprentissage automatique, EMR peut être une meilleure option en raison de sa flexibilité. Il peut gérer de manière sûre et fiable l'apprentissage automatique, l'apprentissage profond, l'ETL de données et l'analyse en continu en temps réel.
Glue est davantage axé sur les actions d'extraction, de transformation et de chargement (ETL). Il peut exécuter des transformations d'apprentissage automatique, mais présente de nombreuses limitations pour les analyses de streaming en temps réel en raison de fenêtres de traitement et d'écriture qui durent 100 secondes. La détection de schéma de Glue désactive également les actions de jointure de données en streaming, seules les transformations Glue intégrées ou les transformations Apache Spark Structured Streaming étant prises en charge.
AWS Glue et Amazon EMR sont des plateformes similaires qui se différencient par leur simplicité et leur flexibilité. AWS Glue est un moyen rapide et peu contraignant d'exécuter des tâches ETL dans le cloud. EMR est une solution de traitement de Big Data plus robuste et riche en fonctionnalités qui permet l'ETL ainsi que le streaming de données en temps réel pour les charges de travail ML utilisant l'infrastructure existante. La flexibilité d'EMR s'accompagne d'une charge de gestion, mais se traduit souvent par des dépenses inférieures à celles de Glue, grâce à l'absence de fonctionnalités sans serveur.
En fin de compte, Amazon EMR est adapté aux opérations de données à petite et grande échelle, tandis que Glue est beaucoup plus ad hoc et adapté aux tâches par lots de petite taille. Cependant, comme ils servent des objectifs différents, vous pouvez vous retrouver à utiliser les deux outils : Glue pour les tâches ad hoc que vous souhaitez mettre en place rapidement et EMR pour les tâches de traitement de données distribuées à long terme et à grande échelle.
Vous souhaitez en savoir plus sur la migration ETL ?
Découvrez comment Trianz réduit jusqu'à 50 % les temps de migration des bases de données héritées et des outils ETL existants vers AWS Glue.