Amazon DEA-C01: Transformación y procesamiento de datos — Guía de estudio

Forma parte de la Amazon Data Engineer Associate DEA-C01 — Guía de estudio. Practica con respuestas verificadas en el centro de exámenes de Amazon, o realiza tests cronometrados en ExamRoll.io.

Este dominio cubre los servicios y patrones de AWS utilizados para limpiar, transformar y preparar datos para análisis y ML a escala. Se centra en seleccionar la computación y las herramientas adecuadas (Glue, Lambda, EMR, DataBrew) en función del volumen de datos, los requisitos de latencia y las restricciones de costos. Comprender los límites del servicio, los parámetros de configuración de los trabajos y cómo interactúan los formatos de datos y los catálogos es fundamental para construir canalizaciones fiables e incrementales.

Trabajos de ETL de AWS Glue (Spark y Python shell)

Los trabajos de Spark de Glue son la opción principal para ETL distribuido a gran escala: se ejecutan en Apache Spark gestionado por AWS Glue, usan GlueContext y operan sobre los tipos DynamicFrame y Spark DataFrame. Se configuran a través de la consola o la CLI con el tipo de trabajo “glueetl”, workerType (G.1X, G.2X, G.4X) y NumberOfWorkers; se inician con la CLI: aws glue start-job-run –job-name my-spark-job –arguments ‘–execution-class=STANDARD’. Usa las API de DynamicFrame (create_dynamic_frame.from_options, apply_mapping) cuando necesites transformaciones con esquemas flexibles, transformaciones integradas (Relationalize, Unnest) y manejo automático de datos semiestructurados; conviértelos a Spark DataFrame con dyf.toDF() cuando necesites Spark SQL, uniones de mayor rendimiento o UDF personalizadas.

Los trabajos de Python shell de Glue usan el tipo de trabajo “pythonshell” para scripting ligero y tareas del plano de control. Son de una sola DPU (1 DPU) con paralelismo limitado y son ideales para manipulaciones de archivos pequeños, actualizaciones de metadatos u orquestación. Se configuran mediante aws glue create-job –name my-pyjob –command ‘{“Name”:“pythonshell”,“PythonVersion”:“3”}’ y se inician con aws glue start-job-run. Ten en cuenta que los trabajos de Python shell tienen un límite de 1 DPU; usa Spark para conjuntos de datos grandes.

Los marcadores de trabajo (job bookmarks) de Glue permiten el procesamiento incremental al rastrear objetos y particiones de S3 procesados previamente. Habilita los marcadores en la configuración del trabajo o al iniciar las ejecuciones: aws glue start-job-run –job-name my-job –job-bookmark-option job-bookmark-enable. Los marcadores funcionan para fuentes basadas en S3 que utilizan conectores integrados; las fuentes JDBC no admiten marcadores por defecto y requieren marcas de agua (watermarking) personalizadas o almacenamiento de estado.

Glue ahora admite ExecutionClass FLEX para trabajos optimizados en costos y no urgentes. Inicia con aws glue start-job-run –job-name my-job –execution-class FLEX para permitir que Glue programe el trabajo a un costo menor con SLAs de tiempo de inicio más flexibles. Usa FLEX para rellenos de datos en lote (backfills) y cargas de trabajo no sensibles a la latencia; usa STANDARD para una latencia predecible.

Criterios de decisión — comparaciones rápidas:

AWS Lambda para transformaciones ligeras

Lambda es ideal para transformaciones ligeras, de baja latencia e impulsadas por eventos, activadas directamente por S3, Kinesis o EventBridge. Los usos típicos incluyen validación de archivos, extracción de metadatos, conversión de JSON a CSV para archivos pequeños o procesamiento de registros en flujos (streams). Configura la memoria y el tiempo de espera (timeout) con aws lambda update-function-configuration –function-name myFunc –memory-size 2048 –timeout 300. La concurrencia aprovisionada se puede establecer con aws lambda put-provisioned-concurrency-config para mitigar los arranques en frío (cold starts) en canalizaciones de streaming sensibles a la latencia.

Ten en cuenta los límites de Lambda para el procesamiento de datos: 15 minutos de ejecución máxima, 10 GB de memoria (10,240 MB) y solo 512 MB de almacenamiento efímero en /tmp. Para el procesamiento de archivos más grandes, encadena el procesamiento (divide los archivos), transfiérelos a S3 e invoca un trabajo de Glue o EMR, o utiliza el procesamiento en varias partes con AWS Step Functions. Usa variables de entorno para configuraciones pequeñas y políticas de roles de IAM que otorguen estrictamente el privilegio mínimo.

Criterios de decisión — cuándo elegir Lambda:

Amazon EMR para procesamiento a gran escala

EMR es la solución ideal para el procesamiento de big data personalizable y a gran escala (Spark, Hadoop, Presto, Flink) donde se requiere control a nivel de clúster, acciones de arranque personalizadas (bootstrap actions) o bibliotecas especializadas. Los clústeres se crean mediante la CLI con aws emr create-cluster y se puede elegir entre –instance-groups o –instance-fleets. Las flotas de instancias (Instance fleets) proporcionan mezclas flexibles de tipos de instancia y combinaciones de instancias spot y bajo demanda; los grupos de instancias (instance groups) son grupos más simples y de tamaño fijo.

Patrones de clústeres de EMR a considerar:

Ejemplos de configuración:

Use EMR cuando necesite control total sobre los componentes del ecosistema Hadoop, scripts de arranque personalizados o HDFS persistente para datos intermedios; de lo contrario, Glue Spark es más simple para ETL de Spark administrado que se integra con el Glue Data Catalog.

Glue DataBrew y transformaciones visuales

Glue DataBrew es una herramienta visual, sin código o con poco código (no-code/low-code), para el perfilado, la limpieza y la transformación de datos, dirigida a analistas e ingenieros de datos que trabajan de forma interactiva. Cree un conjunto de datos desde S3 o el Glue Catalog, construya una receta de transformaciones en la consola, previsualice sobre una muestra y ejecute trabajos para aplicar las recetas a escala. Programe trabajos de DataBrew o ejecútelos mediante la CLI con aws databrew start-job-run –name my-databrew-job.

DataBrew está optimizado para tareas de preparación de datos como estandarización, deduplicación, conversión de tipos y transformaciones a nivel de columna con funciones integradas. Se integra con el Glue Catalog y escribe los resultados en S3. Elija DataBrew cuando los usuarios de negocio necesiten autogestión para la limpieza y el perfilado rápido de datos; para lógica de transformación pesada, uniones complejas o conjuntos de datos muy grandes, prefiera Glue Spark o EMR.

Comparación de transformaciones visuales vs. basadas en código:

Errores Comunes y Criterios de Decisión

Problema Práctico: Escenario de Caso de Uso

AcmeRetail procesa archivos Parquet de clickstream nocturnos para consolidarlos en una tabla unificada de actividad del cliente y desea un procesamiento incremental para evitar reprocesar meses de datos, manteniendo bajos los costos para las cargas históricas no urgentes.

  1. Usar un diseño particionado en S3 (year=/month=/day=) y registrar el conjunto de datos en el Glue Data Catalog.
  2. Crear un trabajo de Glue Spark (glueetl) que lea con DynamicFrame.from_catalog para obtener flexibilidad de esquema, aplique mapeos, convierta a DataFrame para uniones complejas y escriba el resultado como Parquet particionado de nuevo en S3.
  3. Habilitar los Glue job bookmarks (job-bookmark-enable) para las ejecuciones nocturnas para procesar solo las particiones nuevas; para las fuentes de enriquecimiento JDBC, implementar columnas de marca de agua (watermark) persistidas en DynamoDB para rastrear la marca de tiempo máxima procesada.
  4. Para las ejecuciones nocturnas de rutina, usar ExecutionClass=STANDARD; para el reprocesamiento histórico no urgente, enviar ejecuciones con –execution-class FLEX para ahorrar costos.
  5. Monitorear con métricas de CloudWatch y configurar alarmas para fallos en los trabajos; para una escala muy grande o bibliotecas personalizadas, considere clústeres transitorios de EMR que escriban resultados intermedios en S3 y finalicen automáticamente.

Justificación: Este enfoque aprovecha el Spark administrado de Glue para transformaciones escalables y los DynamicFrames para entradas semiestructuradas, utiliza job bookmarks para el procesamiento incremental de S3 y usa FLEX para reducir el costo de las cargas históricas, conservando así el costo, la fiabilidad y la simplicidad operativa.


Catalogación de datos y gestión de metadatos · Todos los dominios · Orquestación de datos y gestión de flujos de trabajo

Practica estas preguntas → · Práctica cronometrada en ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Aprueba tu examen →

Explorar Amazon →

Related guides

Acceso todo en uno

Una suscripción. Todos los exámenes.

Cada plan desbloquea la búsqueda ilimitada de respuestas, pruebas de práctica, explicaciones de AI y la biblioteca completa de recursos, en más de 20 idiomas.

Mensual
24.87
Just €0.83/day
Todo incluido:
  • Búsqueda ilimitada de respuestas
  • Pruebas de práctica ilimitadas
  • Explicaciones con tecnología AI
  • Biblioteca completa de recursos
  • Más de 20 idiomas
  • Actualizaciones semanales de contenido
  • Recompensas y referencias
  • Soporte prioritario
Iniciar prueba gratuita

No se requiere tarjeta de crédito*

Mejor valor
12 meses
179.87
Just €0.49/daySave 40%
Todo incluido:
  • Búsqueda ilimitada de respuestas
  • Pruebas de práctica ilimitadas
  • Explicaciones con tecnología AI
  • Biblioteca completa de recursos
  • Más de 20 idiomas
  • Actualizaciones semanales de contenido
  • Recompensas y referencias
  • Soporte prioritario
Iniciar prueba gratuita

No se requiere tarjeta de crédito*

✓ Plan gratuito incluido · ✓ Cancela en cualquier momento · ✓ Todos los planes desbloquean el producto completo