Conexión de Apache Zeppelin con AWS

Clase 25 de 52Curso de Big Data en AWS

Resumen

Aprende a conectar tu entorno local con un developer endpoint para ejecutar ETLs con Spark, Python y Scala desde Apache Zeppelin. Aquí verás cómo preparar el interpreter, autenticar por SSH con tu llave privada y crear un túnel estable hacia localhost:9007 para consultar datos en AWS de forma interactiva.

¿Cómo preparar Apache Zeppelin para conectar con el developer endpoint?

Antes de cualquier conexión, valida que el provisioning status del developer endpoint esté ready y abre sus datos de conexión. Luego, en tu Apache Zeppelin local, ajusta el interpreter de Spark para que “hable” con el endpoint en la nube.

¿Qué propiedades de Spark revisar en el interpreter?

  • Entra a Anonymous > Interpreter y abre el interpreter de Spark con Edit.
  • Verifica la propiedad master como yarn client. Debe estar así.
  • Si existen, elimina las propiedades spark.executor.memory y spark.driver.memory.

¿Cómo redirigir al puerto 9007 en localhost?

  • Activa la opción: Connect to Existing Process.
  • En host escribe: localhost.
  • En puerto escribe: 9007.
  • Haz clic en save para guardar los cambios.

Con esto, tu Zeppelin local queda configurado para comunicarse con el Zeppelin del developer endpoint.

¿Qué comandos SSH permiten trabajar con Python y Scala?

Desde la consola de Gloo, copia los comandos mostrados para conectarte por SSH. El primero abre una consola para Python y el segundo para Scala. En ambos, debes reemplazar la llave por tu llave privada creada, por ejemplo Platzi Llave.

¿Cómo autenticar con la llave privada?

  • Ubícate en el directorio donde está tu llave privada. Usa un listado de archivos para verificarla.
  • Si no estás en esa ruta, especifica la opción indicada para la clave privada (se menciona “la k”) con la ruta completa.
  • Ejecuta el comando SSH y autoriza la conexión cuando te lo solicite.

¿Qué permite la consola interactiva de Python y Scala?

  • Ejecutar ETLs paso a paso en Spark para validarlos antes de producción.
  • Hacer debugging y troubleshooting línea a línea.
  • Visualizar mensajes de warning de Spark y seguir el estado de ejecución.

Si eliges Scala, verás la “pantallita” de Scala lista para correr tus comandos.

¿Cómo crear el túnel y ejecutar ETLs desde Zeppelin?

Para trabajar desde tu notebook local contra datos en AWS, crea un túnel SSH para el interpreter. Este comando permanece activo: no “termina”, porque mantiene la conexión entre tu localhost y el developer endpoint.

¿Cómo crear el túnel SSH para el intérprete?

  • Copia el comando completo de túnel desde la consola del developer endpoint.
  • Reemplaza la llave por tu Platzi Llave.
  • Ejecuta el comando; déjalo corriendo para sostener el túnel.

¿Cómo ejecutar notebooks de Spark contra AWS desde Zeppelin?

  • En Zeppelin crea una nota nueva, por ejemplo: “platzi nuevo”.
  • Selecciona el interpreter Spark previamente configurado.
  • Ejecuta tus celdas y observa resultados que consultan datos en AWS.
  • Aprovecha SQL, Spark y Scala para consultas, gráficas y análisis.

¿Qué habilidades y conceptos aplicas?

  • Developer endpoint: entorno gestionado en la nube listo para recibir conexiones.
  • Provisioning status ready: indicador de que el endpoint está disponible.
  • Apache Zeppelin y Spark interpreter: interfaz y motor para ETLs y análisis.
  • Configuración master yarn client: define el modo de conexión de Spark.
  • Propiedades de Spark: manejo de spark.executor.memory y spark.driver.memory cuando existan.
  • SSH con llave privada: autenticación usando la llave “Platzi Llave”.
  • Túnel a localhost:9007: Connect to Existing Process para enlazar intérpretes.
  • ETLs con Python y Scala: ejecución interactiva, validación y depuración.
  • Gloo: consola desde la que se copian los comandos de conexión.

¿Tienes dudas sobre la configuración o quieres compartir tu flujo de trabajo de ETLs en Zeppelin? Cuéntame en comentarios y afinamos juntos los pasos.