# AWS Glue

> El servicio de AWS para encontrar, describir y limpiar datos, sin servidores que correr.

- Nivel: Intermedio
- Temas: AWS, Datos
- URL: https://tidbit.legios.com.ar/es/aws-glue/
- En inglés: [AWS Glue](https://tidbit.legios.com.ar/aws-glue/)

**AWS Glue** es el servicio de AWS para hacer ETL: tomar los datos de donde caen, limpiarlos y darles forma, y dejarlos donde la gente los pueda analizar. Un caso típico: todas las noches una app tira miles de archivos JSON en Amazon S3, y un **job de Glue** los lee, saca duplicados, corrige fechas, los cruza con una tabla de clientes y escribe el resultado como archivos Parquet listos para consultar.

Su otra mitad es el **Glue Data Catalog**, un registro de cada conjunto de datos: dónde están los archivos, qué columnas tienen y de qué tipo. Un **crawler** lo puede llenar por vos: abre los archivos y deduce su estructura. El catálogo es lo que permite que Amazon Athena o Amazon Redshift consulten una carpeta de archivos en S3 como si fuera una tabla.

Glue es serverless: escribís la transformación (en Python o SQL sobre Apache Spark, o arrastrando cajas en un editor visual), decís cuándo tiene que correr, y AWS levanta las máquinas mientras dura el job. Pagás por el tiempo de procesamiento usado, no por clusters ociosos. Por eso es el pegamento, como dice su nombre (glue), de muchos data lakes armados en AWS.

## Una analogía

Un bibliotecario y un encuadernador en uno. El bibliotecario recorre los estantes anotando qué tiene cada libro; el encuadernador agarra hojas sueltas y desordenadas y las convierte en tomos prolijos que los lectores pueden usar de verdad.

## Para quedarse

- Corre jobs de ETL sobre Apache Spark sin que administres un cluster.
- El Data Catalog describe los datos para que Athena y Redshift los consulten como tablas.
- Los crawlers revisan archivos y deducen solos sus columnas y tipos.
- Se cobra por tiempo de procesamiento mientras corren los jobs; entre jobs no corre nada.

## Para seguir leyendo

- [¿Qué es AWS Glue? (documentación oficial)](https://docs.aws.amazon.com/es_es/glue/latest/dg/what-is-glue.html)
- [AWS Glue](https://aws.amazon.com/es/glue/)

## Términos relacionados

- [ETL](https://tidbit.legios.com.ar/es/etl/): Sacar datos de sus fuentes, limpiarlos y cargarlos donde se puedan analizar.
- [JSON](https://tidbit.legios.com.ar/es/json/): El formato de texto con el que los programas se pasan datos estructurados.
- [Amazon S3](https://tidbit.legios.com.ar/es/amazon-s3/): Un cajón gigante en internet para guardar archivos, alquilado por gigabyte.
- [Parquet](https://tidbit.legios.com.ar/es/parquet/): Un formato que guarda tablas por columna y comprimidas, para que analizar lea mucho menos.
- [Amazon Athena](https://tidbit.legios.com.ar/es/amazon-athena/): Corré SQL directo sobre archivos guardados en S3, sin armar ninguna base de datos.
- [Amazon Redshift](https://tidbit.legios.com.ar/es/amazon-redshift/): El data warehouse de AWS: SQL sobre tablas enormes, pensado para analizar, no para apps.
- [Serverless](https://tidbit.legios.com.ar/es/serverless/): Código que corre solo cuando alguien lo llama; el servidor no lo ves nunca.
- [Python](https://tidbit.legios.com.ar/es/python/): Un lenguaje de programación muy usado, conocido por ser fácil de leer y de escribir.
