Configuración de Developer Endpoint en AWS Glue

Clase 27 de 52Curso de Big Data en AWS

Resumen

Aprende a configurar y validar un flujo ETL en AWS Glue con un enfoque práctico y claro. Desde el túnel al developer endpoint hasta la verificación con Zepelin y PySpark, se muestran los pasos clave para leer datos desde S3 usando el Glue Catalog y preparar la transformación final.

¿Cómo se prepara el entorno de AWS Glue para el ETL?

Para iniciar, se identifica el archivo ETL.PY en el repositorio del curso. Esa será la tarea de transformación. Antes de ejecutarla, se valida la conexión a S3 mediante el developer endpoint.

  • Abrir AWS Glue y ubicar el developer endpoint en la consola.
  • Copiar el comando que crea el túnel remoto al intérprete.
  • Ejecutarlo con la llave privada para conectar el Zepelin local al developer endpoint.
  • Abrir Zepelin, actualizar y entrar al notebook creado, llamado Platzi nuevo.
  • Confirmar que la consola sigue activa y que la data de S3 está sincronizada.
  • Basarse en ejemplos públicos de AWS para los comandos de validación.

¿Qué es Glue Context y para qué sirve?

Se crea el Glue Context para establecer la conexión y traer las librerías necesarias. Con esto, se habilitan los comandos posteriores que interactúan con los datos registrados en el Glue Catalog.

¿Qué valida la conexión con S3 y Glue Catalog?

La validación se hace cargando una tabla de la base de datos en Glue Catalog y realizando un conteo con su esquema. Inicialmente se prepara el comando para crear un dynamic frame desde la base Legislators, pero se ajusta al nombre real: Platzi DB.

  • Cambiar el origen a Platzi DB en el comando.
  • Usar la tabla persons_json como tabla de entrada.
  • Ejecutar un count para imprimir la cantidad de registros.
  • Imprimir también el esquema para confirmar los campos detectados.

¿Cómo corregir el error de ejecución en Zepelin?

Si la ejecución falla, se corrige incluyendo el bloque previo que importa todas las librerías y especificando el intérprete de PySpark en Zepelin antes de importar. Así, el entorno reconoce correctamente los comandos de Glue.

  • Pegar primero el bloque de librerías.
  • Indicar explícitamente que se usará PySpark como intérprete.
  • Ejecutar de nuevo el conteo y la impresión del esquema.

¿Qué resultados confirman la conexión?

Tras conectarse a la metadata y al developer endpoint, se obtiene el resultado esperado: un conteo de 1961 registros en la tabla persons_json y la impresión del esquema. Esto demuestra que el Glue Context, el dynamic frame y el Glue Catalog están operando correctamente sobre los datos fuente en S3.

¿Cómo hacer troubleshooting con PySpark por SSH?

Además de Zepelin, es posible ejecutar los mismos comandos desde la consola conectándose por SSH al developer endpoint y usando PySpark. Esta ruta facilita un debugging más profundo porque muestra errores y salidas detalladas en tiempo real.

  • Conectarse por SSH al developer endpoint.
  • Abrir PySpark y ejecutar los comandos línea a línea.
  • Observar errores y salidas para identificar causas y ajustar rápido.

Con la validación lista, el siguiente paso es crear el ETL de transformación para tomar la data leída, transformarla y escribirla en otro bucket listo para consulta. ¿Qué parte te resultó más útil o qué problema te gustaría probar con este flujo? Deja tu comentario y seguimos mejorando el proceso juntos.