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
---