Cómo configurar AWS Glue ETL desde S3 a Parquet
Clase 28 de 52 • Curso de Big Data en AWS
Contenido del curso
Arquitecturas
Extracción de información
- 9

Cómo mover datos a cloud con SDK y CLI
02:21 min - 10

Python y boto3 para listar buckets S3
10:16 min - 11

Boto3: inicializar clients de AWS en Python
03:56 min - 12

API Gateway como puerta de big data
03:40 min - 13

Storage Gateway: puerta entre on-premise y S3
03:13 min - 14

AWS Kinesis: streaming masivo de datos
05:53 min - 15

Cómo crear Kinesis Data Stream en AWS
06:50 min - 16

Despliegue automatizado de Kinesis con CloudFormation
10:42 min - 17

Cómo Kinesis Firehose entrega datos en tiempo real
03:27 min - 18

Configuración de Kinesis Firehose en AWS
05:45 min - 19
Configuración Básica de Amazon Kinesis Firehose en AWS
02:53 min - 20

MSK vs Kinesis: cuál elegir en AWS
03:42 min - 21

Creación de clúster AWS MSK desde la consola
07:21 min
Transformación de Información
- 22

Cómo AWS Glue transforma datos en la nube
06:33 min - 23

Instalación de Apache Zeppelin paso a paso
04:49 min - 24

Configurar developer endpoint de AWS Glue con Zeppelin
05:38 min - 25

Conexión de Apache Zeppelin con AWS
08:29 min - 26

Configurar AWS Glue Crawler para poblar catálogo
08:15 min - 27

Configuración de Developer Endpoint en AWS Glue
08:00 min - 28

Cómo configurar AWS Glue ETL desde S3 a Parquet
Viendo ahora - 29

Qué es EMR y cuándo usarlo
05:30 min - 30

Crear tu primer cluster de AWS EMR
09:01 min - 31

Conectar Apache Zeppelin a EMR
03:18 min - 32

EMR automatizado con CloudFormation
06:32 min - 33

AWS Lambda para proyectos de big data
07:02 min - 34

Lambdas en big data: real time y batch
04:54 min - 35

Configuración de AWS Lambda para Big Data
07:16 min
Carga de Información
Consumo de información
Seguridad, Orquestación y Automatización
Clase pública
Aprende a crear un ETL en AWS Glue con confianza: desde configurar el job, transformar datos con dynamic frame y escribir en S3 en formato Parquet, hasta catalogar con Crawler y consultar en Athena. Verás cómo pasar de datos crudos a información organizada y consultable con pasos claros y replicables.
¿Cómo crear y configurar un job de AWS Glue para ETL?
Configurar el job define la base de la transformación. Se elige motor, permisos y dónde vivirá el script. Todo empieza en Glue, sección Jobs, agregando el job “Platzi ETL” y seleccionando el rol de servicio.
¿Qué parámetros clave definen el job?
- Tipo de ejecución: Spark (también existe Python Shell, pero aquí usamos Spark).
- Script: nuevo script proveído por nosotros en Python.
- Almacenamiento: bucket de S3 por defecto para el script.
- Propiedades avanzadas: marcas de trabajo y seguridad deshabilitadas por ahora.
- Librerías externas: opción para cargarlas desde S3.
- Capacidad y ejecución: timeout, número de retries y etiquetas para el job.
- Triggers y conexiones: no se agregan en esta configuración inicial.
¿Cómo preparar el script y el contexto de Glue?
- Abrir “Guardar job y Editar”.
- Pegar el script del ETL y ajustar parámetros clave.
- Inicializar el Glue Context: ya validado previamente en ejecución local.
- Base de datos fuente: cambiar a “platzi-db”.
- Directorio de salida en S3: usar “target-platzi” en todas las rutas de escritura.
¿Cómo transformar datos con DynamicFrame y escribir en S3 en Parquet?
La transformación combina limpieza, normalización y uniones. Con dynamic frames, Glue infiere esquemas y facilita operaciones sobre datos semiestructurados antes de escribir resultados optimizados en Parquet.
¿Qué operaciones de limpieza y join aplicar?
- Creación de dynamic frames para las tres tablas origen.
- Limpieza: eliminar columnas que no aportan valor.
- Estandarización: rename de campos para consistencia.
- Enriquecimiento: join entre personas y membresías usando “membership ID” y “person ID”.
- Resultado: una tabla agregada más útil para análisis.
Habilidades puestas en práctica: - Modelado con dynamic frame: gestión flexible de esquemas. - Transformaciones: limpiar, renombrar y unir datos. - Diseño de salidas: definir tablas resultantes y estructura deseada.
¿Cómo escribir en S3 y optimizar con Parquet?
- Conexión de escritura: tipo S3 indicando el path del bucket de salida.
- Formato: Parquet por su menor tamaño y mejor rendimiento que JSON.
- Estrategia de salida: un archivo simple en un subdirectorio y otro particionado por “org name”.
- Ejecución: “Action” → Run Job; se monitoriza el estado hasta “succeeded”.
- Observabilidad: revisar logs y error logs ante fallas; opción de depurar paso a paso en Zeppelin local.
Conceptos y keywords importantes: - Glue Job: unidad de ejecución para ETL en Glue. - Spark: motor distribuido usado por el job. - Parquet: formato columna optimizado para análisis. - Particionamiento: mejora consultas filtrando por “org name”.
¿Cómo catalogar con Crawler y consultar en Athena la data transformada?
Tras escribir en “target-platzi”, es clave actualizar el catálogo para habilitar consultas SQL. Se logra con un Crawler que detecta esquemas y crea tablas en el Glue Catalog.
¿Cómo actualizar el Glue Catalog con un Crawler?
- Crear o editar el Crawler para apuntar al directorio “target-platzi”.
- Base de datos: crear “Platzi DB Transformed” para separar lo transformado.
- Ejecutar el Crawler: detecta la nueva estructura y agrega tres tablas al catálogo.
- Buenas prácticas en producción: orquestar ejecución, retries y crawlers con la SDK de AWS para automatizar.
Datos y habilidades destacadas: - Glue Catalog: metadatos centralizados para lectura por servicios analíticos. - Crawler: descubrimiento automático del esquema en S3. - Automatización: robustez y repetibilidad en flujos de big data.
¿Cómo validar y consultar en Athena?
- Abrir Athena y seleccionar “Platzi DB Transformed”.
- Usar “preview” para verificar estructura y muestra de datos.
- Ejecutar consultas sobre tablas transformadas: ver campos organizados como rol, asientos, tipo, área, fecha de nacimiento y género.
- Caso ilustrativo: miembros del Senado de Estados Unidos, ahora estructurados y listos para análisis.
¿Listo para llevarlo a tu contexto? Comparte en comentarios qué fuentes en S3 quieres transformar y cómo planeas particionar tus salidas en Parquet.