Aprende, paso a paso, a preparar la capa de datos para tu primer ETL en AWS con un flujo claro: crear buckets S3, ejecutar un Crawler en Glue para poblar el Glue Catalog y validar con Athena. Tras configurar Apache Zeppelin y el developer endpoint, aquí se consolida la base para transformar datos crudos en estructuras consultables.
¿Cómo preparar el entorno en AWS para el ETL?
Primero se entra a la consola de AWS y se abre el servicio de Glue. Se trabaja con un repositorio de GitHub provisto para el laboratorio y con dos buckets S3: uno de origen con datos crudos y otro de destino para la data transformada. Esta separación permite mantener control del linaje y facilitar validaciones.
¿Qué incluye el repositorio de GitHub?
- Archivo principal: ETL.py para la fase de transformación posterior.
- Carpeta JSON: varios archivos .json grandes usados como data de ejemplo.
¿Cómo organizar el almacenamiento en S3?
- Crear el bucket origen: origen-platzi.
- Crear el bucket destino: target-platzi.
- Cargar los .json del repositorio al bucket origen.
¿Qué es el Glue Crawler y cómo llena el Glue Catalog?
Un Crawler recorre el bucket de origen, detecta archivos y su estructura, y registra metadatos en el Glue Catalog. El Glue Catalog es un catálogo de metadatos persistente: guarda ubicación en S3, esquemas y tablas para que otros servicios consulten la data sin moverla.
¿Cómo configurar el Crawler?
- Ir a Glue, sección Crawlers, y crear uno nuevo: Platzi Crawler.
- Opciones clave: descripción opcional; sin configuración de security inicial; classifiers opcionales para esquemas particulares; sin agrupar múltiples S3.
- Data store: S3 con un path al bucket origen seleccionado.
- Exclusiones: sin patrones de exclusión.
- Múltiples orígenes: no se agregan otros por ahora.
- Rol de IAM: seleccionar uno existente que termina en “Platzi” o crearlo.
- Programación: ejecución on demand para correr manualmente.
- Base de datos en el catálogo: crear PlatziDB.
- Prefijo: ninguno; opciones avanzadas por defecto.
- Finalizar y ejecutar: el status inicia como Starting y continúa hasta completar.
¿Qué resultados esperar al ejecutar?
- Recorre el bucket origen e infiere esquemas de los archivos .json.
- Crea tablas en el Glue Catalog dentro de la database PlatziDB.
- En este ejercicio reporta: creó seis tablas.
- Cada archivo JSON relevante se refleja como una tabla consultable.
¿Cómo consultar la data con Athena y planear la transformación?
El Glue Catalog habilita a servicios como Athena para consultar datos en S3. Al abrir Athena, se selecciona PlatziDB y se observan las tablas creadas desde la data cruda. Como están sin ordenar ni normalizar, la siguiente fase consiste en transformarlas y escribir resultados en el bucket destino.
¿Qué habilidades y conceptos quedan claros?
- Identificar data origen en S3 y separarla de la data objetivo.
- “Crawlear la data” con un Crawler para poblar metadatos.
- Entender el rol del Glue Catalog como punto central de esquemas.
- Configurar un rol de IAM adecuado para Glue.
- Programar ejecuciones on demand según necesidades.
- Usar Athena para consultas sobre S3 a través del catálogo.
- Preparar la base para la transformación con ETL.py y reexponer resultados en el catálogo.
¿Quieres que profundicemos en la transformación y mejores prácticas de esquemas en Glue y Athena? Deja tus dudas o comentarios y seguimos construyendo el pipeline juntos.