Configurar AWS Glue Crawler para poblar catálogo

Clase 26 de 52Curso de Big Data en AWS

Resumen

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.