Guía Completa de AWS Glue

Como servicio ETL serverless totalmente administrado, automatiza todo el ciclo de vida de extracción, transformación y carga.

AWS Glue - Guia Completa (Claves para el Examen DEA-C01)

Introduccion

AWS Glue es el servicio con mayor peso en la seccion Domain 1: Data Ingestion and Transformation (34%) del examen DEA-C01.

AWS Glue es un servicio de ETL completamente administrado y serverless que automatiza todo el proceso de extraccion, transformacion y carga de datos. El examen presenta con frecuencia preguntas basadas en escenarios que requieren elegir el componente o la funcion correcta de Glue.

Esta guia cubre los conceptos clave que necesitas conocer para preparar el examen.

---

Que es AWS Glue?

Empecemos con los fundamentos de AWS Glue.

| Aspecto | Detalle | | --- | --- | | Definicion | Servicio de ETL completamente administrado y serverless | | Motor de procesamiento | Apache Spark (computacion distribuida) | | Codigo ETL | Generado automaticamente y personalizable en Python (PySpark) o Scala | | Gestion de infraestructura | No necesaria (serverless) | | Unidad de facturacion | DPU (Data Processing Unit) | | Integraciones principales | S3, Redshift, RDS, Athena, EMR |

En el examen, cuando el escenario requiere "ETL serverless", la respuesta es AWS Glue.

---

DPU (Data Processing Unit)

DPU es la unidad de recursos de computacion en AWS Glue.

| Aspecto | Detalle | | --- | --- | | 1 DPU | 4 vCPU + 16 GB de memoria | | Facturacion | Cantidad de DPU x tiempo de procesamiento | | Escalado | Ajuste automatico (tambien es posible especificar manualmente) | | Monitoreo | Verificar el DPU optimo en la seccion Job Run Monitoring de la consola de AWS Glue |

Si el DPU es insuficiente, puedes aumentarlo elevando el parametro .

---

DynamicFrames vs Spark DataFrames

Existen dos frameworks para procesar datos en Glue. Comprender sus diferencias es importante.

| Comparacion | Spark DataFrame | AWS Glue DynamicFrames | | --- | --- | --- | | Esquema | Debe ser predefinido | Se maneja automaticamente (no requiere predefinicion) | | Datos semiestructurados | Dificil de procesar | Maneja automaticamente JSON, XML, CSV, etc. | | Estructuras anidadas | Requiere aplanamiento manual | Maneja automaticamente estructuras anidadas y arreglos | | Ideal para | Datos estructurados | Data lakes con esquemas flexibles |

En el examen, DynamicFrames suele ser la respuesta correcta cuando se trata de datos con esquemas que cambian frecuentemente o son desconocidos.

---

Prevencion de procesamiento duplicado con Job Bookmarks

Job Bookmarks es una funcion que rastrea el estado de procesamiento entre ejecuciones de trabajos ETL.

Caracteristicas principales:

Los datos ya procesados no se reprocesan (carga incremental) Previene el reprocesamiento innecesario en conjuntos de datos grandes, ahorrando costo y tiempo Guarda checkpoints de los datos procesados para referencia en ejecuciones posteriores

Cuando el examen presenta un escenario sobre "procesar solo datos nuevos", Job Bookmarks es la respuesta.

---

AWS Glue Crawlers

Los Crawlers escanean automaticamente las fuentes de datos para descubrir esquemas y mantener el Glue Data Catalog actualizado.

| Funcion | Detalle | | --- | --- | | Descubrimiento automatico de esquemas | Escanea fuentes como S3, RDS y crea/actualiza tablas automaticamente | | Formatos soportados | CSV, JSON, Parquet, ORC, etc. | | Deteccion de particiones | Detecta particiones automaticamente para mejorar el rendimiento de consultas | | Programacion | Ejecucion periodica para mantener el Data Catalog actualizado | | Control de acceso | Control detallado de acceso a metadatos mediante politicas IAM |

El punto clave del examen aqui es comprender las dos capas de control de acceso.

Estas dos capas se administran por separado.

---

Schema Registry para datos de streaming

Schema Registry garantiza la consistencia del esquema en datos de streaming de Kinesis y Kafka.

Caracteristicas principales:

Control de versiones de esquemas Validacion del esquema cuando los productores agregan nuevos registros a los streams Rechazo o transformacion de registros en caso de inconsistencia de esquema Integracion con KPL (Kinesis Producer Library) y KCL (Kinesis Client Library)

Cuando el examen pregunta sobre "garantizar la consistencia del esquema en datos de streaming de Kinesis/Kafka", la respuesta es Glue Schema Registry.

---

Funciones de transformacion principales

Glue proporciona varias capacidades de transformacion importantes.

| Funcion | Descripcion | | --- | --- | | ResolveChoice | Maneja tipos de datos mixtos en una columna (ej: cadenas y enteros en la misma columna) | | FindMatches ML | Identifica registros de entidades coincidentes sin claves comunes (basado en ML) | | Pivot | Convierte filas en columnas (optimiza consultas analiticas) | | CTAS | Crea nuevas tablas a partir de resultados SELECT (conversion de formato, tablas resumen) |

Cuando el examen presenta un escenario sobre "detectar y fusionar registros duplicados usando ML", la respuesta es FindMatches ML Transform.

---

Comparacion de entornos de ejecucion

Glue ofrece diferentes entornos de ejecucion segun el tipo de carga de trabajo.

| Entorno | Caracteristicas | Ideal para | | --- | --- | --- | | Spark | Computacion distribuida, procesamiento a gran escala | Trabajos ETL grandes, transformaciones complejas | | Python Shell | Ejecucion de scripts livianos | Transformaciones simples, integracion con servicios AWS | | Ray | Procesamiento paralelo en Python | Cargas de trabajo ML/AI, escalado horizontal en Python | | Streaming ETL | Procesamiento de streams en tiempo real | Procesamiento de datos en tiempo real de Kinesis y Kafka |

Puntos de seleccion clave que aparecen frecuentemente en el examen:

ETL liviano en Python → Python Shell Escalado horizontal de Python para cargas ML → Ray

---

Estrategias de optimizacion de rendimiento

Estrategias principales para mejorar el rendimiento de los trabajos ETL.

| Estrategia | Descripcion | | --- | --- | | Particionamiento de datos | Particionar por fecha, region, etc. para mejorar el rendimiento de consultas | | Indices de particion | La API GetPartitions consulta solo las particiones coincidentes, mejorando el rendimiento con grandes volumenes | | Broadcast Join | Copia conjuntos de datos pequenos a todos los nodos, minimizando el shuffling en joins grandes | | Consolidacion de archivos pequenos | Muchos archivos pequenos degradan el rendimiento de Spark; consolidar en archivos mas grandes | | Filtrado del lado del servidor | Pre-filtrar datos usando predicados de particion al crear DynamicFrames |

---

AWS Glue DataBrew

DataBrew es una herramienta visual de preparacion de datos que permite limpiar y normalizar datos sin escribir codigo.

| Funcion | Detalle | | --- | --- | | Transformaciones sin codigo | Mas de 250 transformaciones predefinidas (arrastrar y soltar) | | Perfilado de datos | Estadisticas por columna, deteccion automatica de valores faltantes, duplicados y valores atipicos | | Reglas de calidad de datos personalizadas | Definicion de reglas de validacion segun requisitos del negocio | | Deteccion y enmascaramiento de PII | Deteccion de informacion personal basada en ML con enmascaramiento y anonimizacion | | Serverless | No requiere gestion de infraestructura |

Escenarios comunes en el examen:

Se necesita limpieza y perfilado de datos sin programar → AWS Glue DataBrew Se necesita deteccion y enmascaramiento de PII → DataBrew o Glue Sensitive Data Detection

---

Volver a la lista del blog