AWS es el mayor proveedor de centros de datos en la nube pública y privada del mundo. Como parte de su cartera de procesamiento de big data, AWS ha desarrollado Glue y Amazon EMR. AWS Glue es una herramienta de extracción, transformación y carga (ETL) que ayuda a los científicos de datos a manipular y mover datos a través de Amazon S3.
Amazon EMR, abreviatura de Amazon Elastic MapReduce, es una plataforma de procesamiento de big data, flujos de datos en tiempo real, consultas SQL y aprendizaje automático. EMR se puede utilizar para ejecutar y ampliar clústeres Apache Spark, entre otros motores de big data.
Si bien ambas herramientas ofrecen capacidades de procesamiento ETL, la que elija dependerá en gran medida de su infraestructura actual. Analicemos AWS Glue frente a EMR para que pueda decidir si usar ambas plataformas en paralelo o elegir una es lo adecuado para su negocio.
AWS Glue es un servicio de integración de datos sin servidor disponible en la nube de AWS. La plataforma tiene como objetivo ayudar a los analistas de datos a descubrir datos de diversas fuentes, prepararlos en múltiples formatos y esquemas, y combinar conjuntos de datos mediante el mapeo de datos. AWS Glue funciona con una variedad de almacenes de datos, como bases de datos, lagos de datos y fuentes de almacenamiento de datos.
La barrera de entrada a los flujos de trabajo ETL se reduce gracias a las interfaces visualizadas para usuarios no técnicos, junto con interfaces basadas en código más potentes para usuarios técnicos. Todos los metadatos de AWS Glue se almacenan en el catálogo de datos de AWS Glue, lo que significa que cualquier usuario puede encontrar y acceder a los conjuntos de datos relevantes.
Amazon Elastic MapReduce (EMR) es una plataforma de big data. Admite la transmisión de datos en tiempo real para cargas de trabajo de inteligencia artificial y aprendizaje automático a través de Apache Spark y otros motores de análisis. Esto es posible gracias a canales de datos escalables que extraen datos de la fuente y los envían al destino. Los análisis predictivos y los modelos estadísticos a gran escala de EMR también se pueden utilizar para ayudar a descubrir tendencias y correlaciones.
Los beneficios de EMR incluyen escalabilidad a nivel de petabyte a la mitad del costo de las instalaciones locales y un tiempo de obtención de información hasta dos veces más rápido para las cargas de trabajo de análisis. EMR Studio se puede utilizar para crear canales de datos, visualizar el flujo de datos y ejecutar consultas SQL.
Tanto AWS Glue como EMR son capaces de habilitar procesos y flujos de trabajo de ETL. Sin embargo, existen algunas diferencias fundamentales en la forma en que funcionan los dos servicios.
AWS Glue es una plataforma de integración de datos sin servidor que se encarga de la infraestructura, las opciones de configuración y la instalación. Puede trabajar con formatos de datos estructurados y semiestructurados para inferir automáticamente referencias de esquemas.
Amazon EMR es una superposición de servicios administrados para infraestructuras autoconfiguradas, como instancias o clústeres de Amazon EC2. EMR también ofrece una opción dedicada sin servidor. EMR admite componentes del ecosistema Apache Hadoop como Spark, Hive, HBase y Presto, con almacenamiento de datos en Amazon Athena, Amazon Redshift y otras soluciones de análisis de big data.
En resumen, AWS Glue es una plataforma ETL escalable que es fácil de configurar y usar. Sin embargo, su facilidad de uso tiene limitaciones, lo que la hace más adecuada para trabajos con requisitos de infraestructura más flexibles. Amazon EMR tiene un conjunto de características mucho más completo, que incluye compatibilidad con el alojamiento de componentes Hadoop, bibliotecas de aprendizaje automático TensorFlow y consultas SQL Presto. Glue es adecuado para flujos de trabajo de integración y ETL de datos más simples, mientras que EMR es una plataforma de servicio administrado de operaciones de datos más completa .
Como ocurre con la mayoría de los servicios en la nube, cuanto más haga por usted de forma inmediata, más caro será. AWS Glue es una plataforma sin servidor, lo que significa que puede ignorar la implementación y configuración de la infraestructura para centrarse en los flujos de trabajo de ETL.
EMR aprovecha las fuentes de datos existentes para facilitar las consultas SQL, la transmisión de datos y otros procesos ETL. Esto se traduce en menores costos, ya que la implementación y configuración de los datos corre por cuenta suya. Estos menores costos se pueden compensar pagando a los empleados para que configuren e implementen EMR, y el gasto operativo adicional para cada servicio de AWS que lo acompaña.
Puede comparar el costo de cada servicio para su caso de uso previsto con la Calculadora de precios de AWS.
A partir de abril de 2022, el tipo de trabajador más grande de AWS Glue es G.2X. Este viene con un límite superior de 32 GB de memoria de ejecutor, lo que significa que descomprimir archivos muy comprimidos puede provocar errores de "memoria insuficiente". Mientras que EMR puede usar cualquier tipo de instancia de AWS, lo que permite asignaciones de RAM mucho más grandes, hasta 24 tebibytes (TiB).
Para quienes almacenan datos a gran escala en la nube, resulta beneficioso utilizar motores de computación distribuida, bases de datos nativas de la nube y almacenes de datos. Amazon EMR y AWS Glue son dos servicios que las organizaciones pueden utilizar para lograr esto. Exploremos dos escenarios más en los que los trabajos de Glue o EMR pueden ser más adecuados para su uso por separado.
Si está probando un flujo de trabajo de datos completamente nuevo, AWS Glue puede ser una mejor opción. Le permite omitir la configuración y la implementación de la infraestructura y simplemente ejecutar un flujo de trabajo de datos. La naturaleza de pago por uso (PAYG) de Glue genera poco riesgo de gastos innecesarios.
Configurar un clúster de EMR para probar entornos y flujos de trabajo puntuales aumentaría el esfuerzo y aportaría pocos beneficios a la empresa. El único problema sería la compatibilidad de Glue con la fuente de datos. Por el contrario, EMR ofrece más flexibilidad al utilizar todos los tipos de instancias de AWS.
Para cargas de trabajo de procesamiento de big data o aprendizaje automático, EMR puede ser una mejor opción debido a su flexibilidad. Puede gestionar de forma segura y confiable el aprendizaje automático, el aprendizaje profundo, la extracción, transformación y carga de datos (ETL) y el análisis de transmisión en tiempo real.
Glue se centra más en las acciones de extracción, transformación y carga (ETL). Puede ejecutar transformaciones de aprendizaje automático, pero tiene muchas limitaciones para el análisis de transmisión en tiempo real debido a las ventanas de procesamiento y escritura que duran 100 segundos. La detección de esquemas de Glue también deshabilita las acciones de unión de datos de transmisión, y solo se admiten las transformaciones de Glue integradas o las transformaciones de transmisión estructurada de Apache Spark.
AWS Glue y Amazon EMR son plataformas similares que se diferencian por su simplicidad y flexibilidad. AWS Glue es una forma rápida y de bajo esfuerzo de ejecutar trabajos ETL en la nube. EMR es una solución de procesamiento de big data más sólida y rica en funciones que permite la ETL junto con la transmisión de datos en tiempo real para cargas de trabajo de ML utilizando la infraestructura existente. La flexibilidad de EMR conlleva una carga de gestión, pero a menudo resulta en un menor gasto que Glue, gracias a que evita las funciones sin servidor.
En definitiva, Amazon EMR es adecuado para operaciones de datos a pequeña y gran escala, mientras que Glue es mucho más ad hoc y adecuado para trabajos en lotes pequeños. Sin embargo, dado que tienen fines diferentes, es posible que acabe utilizando ambas herramientas: Glue para tareas ad hoc que desee poner en marcha rápidamente y EMR para trabajos de procesamiento de datos distribuidos a gran escala y a largo plazo.
¿Quiere obtener más información sobre la migración ETL?
Descubra cómo Trianz reduce los tiempos de migración de bases de datos heredadas y herramientas ETL existentes a AWS Glue hasta en un 50%.