AWS Glue

Servicio ETL serverless y escalable que proporciona de forma integrada gestión de metadatos mediante catálogo de datos y plataforma de ejecución de trabajos basada en Apache Spark

Descripción general

AWS Glue es un servicio de integración de datos serverless que facilita descubrir, preparar, mover y transformar datos para análisis, machine learning y desarrollo de aplicaciones. Combina un catálogo de datos centralizado (Glue Data Catalog) con un motor de ETL basado en Apache Spark, crawlers para descubrimiento automático de esquemas y capacidades de programación de trabajos.

Data Catalog y Crawler transforman la gestión de metadatos

Glue Data Catalog es un repositorio centralizado de metadatos que almacena definiciones de tablas, esquemas y ubicaciones de datos. Los Crawlers escanean automáticamente fuentes de datos (S3, RDS, Redshift, DynamoDB) para inferir esquemas y registrar tablas en el catálogo. Una vez registrados, los datos son consultables desde Athena, Redshift Spectrum y EMR sin configuración adicional. El catálogo soporta versionado de esquemas, permitiendo rastrear cambios en la estructura de datos a lo largo del tiempo. Las particiones se detectan automáticamente, habilitando partition pruning eficiente en consultas.

Trabajos Spark y Python Shell - claves del diseño de DPU

Los trabajos Glue se ejecutan en dos modos: Spark (para procesamiento distribuido a gran escala) y Python Shell (para tareas ligeras). Los trabajos Spark se miden en DPU (Data Processing Units), donde cada DPU proporciona 4 vCPU y 16 GB de memoria. El dimensionamiento correcto de DPUs es crucial para el costo: asignar demasiados desperdicia recursos, muy pocos causa timeouts. Glue Auto Scaling ajusta automáticamente los workers según la carga, pero establecer límites máximos previene costos inesperados. Para trabajos pequeños (consultas simples, transformaciones de archivos individuales), Python Shell con 1 DPU o 0.0625 DPU es significativamente más económico que un trabajo Spark completo.

Job Bookmark e idempotencia en pipelines de datos

Job Bookmark rastrea los datos ya procesados, asegurando que las ejecuciones subsiguientes solo procesen datos nuevos. Esto es esencial para pipelines ETL incrementales que se ejecutan periódicamente. Sin bookmarks, cada ejecución reprocesaría todos los datos, desperdiciando recursos y potencialmente creando duplicados. Los bookmarks funcionan rastreando las rutas de archivos S3 o las marcas de tiempo de bases de datos procesadas. Para pipelines verdaderamente idempotentes, se combina con escrituras en modo overwrite por partición o con formatos de tabla como Iceberg que soportan operaciones upsert. Step Functions orquesta pipelines multi-etapa, manejando reintentos y manejo de errores entre trabajos Glue dependientes.

共有するXB!