AWS Glue es un servicio administrado del cloud AWS que nos permite hacer procesos ETL (extracción, transformación y carga).
AWS glue permite construir visualmente estos flujos ETL para extraer o volcar datos a AWS.
Entre sus principales características tenemos:
- AWS Glue se integra en una amplia variedad de servicios de AWS. AWS Glue es compatible de manera nativa con datos almacenados en Amazon Aurora y con los demás motores de Amazon RDS, Amazon Redshift y Amazon S3.
- AWS Glue ofrece conectores para las principales bases de datos.
- AWS Glue es un servicio Serverless, no requiere aprovisionar infraestructura, ya que Glue aprovisiona, configura y escala en función de los recursos necesarios para el proceso ETL..
- Integra un Spark administrado.
- AWS Glue automatiza gran parte del proceso de creación, mantenimiento y ejecución de trabajos de ETL. AWS Glue rastrea sus orígenes de datos, identifica formatos de datos y sugiere esquemas y transformaciones. AWS Glue genera automáticamente el código para ejecutar sus transformaciones de datos y procesos de carga.
¿Cómo funciona?
El funciónamiento es sencillo:
- Primero con la consola web de Glue registraremos las fuentes de datos, Glue los rastreará y construirá un catálogo de datos soportando los orígenes y tipos de datos conocidos, incluidos JSON, CSV, Parquet,…
- Luego seleccionaremos un origen y un destino para los datos. AWS Glue generará código ETL en Scala o Python para extraer datos del origen, transformar los datos de manera que se correspondan con los esquemas de destino y cargarlos en el destino. Puede editar y probar el código y depurar errores mediante la consola, en su IDE favorito o en cualquier bloc de notas.
- Finalmente planificamos el trabajo, Glue permite la programación de trabajos de ETL recurrentes, el encadenamiento de varios trabajos o la invocación de ellos bajo demanda desde otros servicios, como AWS Lambda. AWS Glue administra las dependencias entre trabajos, escala automáticamente los recursos subyacentes y vuelve a intentar ejecutar los trabajos si se produce un error.