Apache Zeppelin, analítica rápida y simple para nuestras aplicaciones

Apache Zeppelin, analítica rápida y simple para nuestras aplicaciones

Apache Zeppelin es una más que buena solución para poder implimentar visualizaciones de analítica de datos como web notebook. Es decir, podremos generar a partir de su webserver un Dashboard con nuestras analíticas o, también, en formato embedded dentro de nuestras própias aplicaciones.

Apache Zeppelin, Dashboard

Dichas analíticas o web notebook se crean mediante lenguajes y tecnologçias como son: Spark, SparkSQL, Hive, Elasticsearch, Python, HBase, Angular y conectores JDBC para PostgreSQL o MySQL. Notebook permite compartir tus procesos con otros, de modo que estos puedan ser entendidos, modificados y/o adaptados según las necesidades.

Apache Zeppelin ofrece diversas ventajas como son:

  • Máxima Simplicidad: Permite, de una forma muy intuitiva, manejar conexiones de datos, rápidas, con fuentes de datos en Hive, HBae, etc… o SQL más tradicional como PostgreSQL o MySQL. Para entonces contruir aplicaciones muy rápidamente, visualmente y que poder compartirlas rápidamente.
  • Agnóstico del lenguaje: Gracias a una gran disponibilidad de plugins o interpreter, podremos hacer múltiples acoplaciones que bvan a hacer más grande nuestra solución.
  • Interfaz sobre Bootstrap y AngularJS: Visualmente es muy agradable y tiene una facilidad para poder adecuarlo todavía más a nuestras preferencias, aunque, los usuarios que lo visualizen también podrán hacer los cambios que requieran para adecuarlo todavía más.

Instalación y Configuración del JDBC Connector para MySQl

Por defecto, el conector JDBC de MySQL no se encuentra activo, si el de PostgreSQL pero como que en mi caso, para simplificar, quise hacer una prueba para este post de las posibilidades de visualización, he creado el interpreter de JDBC MySQL. Para su instalación y configuración podemos seguir los siguientes pasos:

  • Descargarlo de la fuente origen: https://zeppelin.apache.org/docs/0.6.2/interpreter/jdbc.html
  • Una vez descargado, deberemos dirigirnos al Path donde se localizan los interpreter, normalmente es: /usr/zeppelin/interpreter alla haremos unzip del ficheros descargado y haremos un rename del directorio por mysql, para simplificar.
  • Ahora, para poder configurar el interpreter de JDBC MySQL, en la configuración de los interpreter deberemos crear y/o modificar la entrada correspondiente a “jdbc”, para ello podemos seguir la configuración de la imagen siguiente:

Apache Zeppelin, JDBC MySQL Connector

common.max_count	1000M
default.driver	com.mysql.jdbc.Driver
default.url	jdbc:mysql://localhost:3306/
default.user	mysql-user
default.password	********

Imagen Docker para empezar rápidamente

Instalar Apache Zeppelin no es nada complejo, pero podemos utilizar una imagen de Docker para poder comenzar rápidamente, por ejemplo:

docker run -d --name zeppelin -p 8080:8080 dylanmei/zeppelin:latest

Una vez esté en marcha nuestro contenedor, solamente tendremos que abrir un navegadir y: http://IP-HOST-DOCKER-ZEPPELIN:8080

Embbeded Notebook en nuestras aplicaciones

En caso que uno de los notebook que creemos lo querramos añadir en nuestras aplicaciones, más orientadas a usuarios finales o funcionales, podemos hacerlo. Dentro de la configuración del própio notebook vamos a poder crear un enlace con este formato de ejemplo: http://< ip-address >:< port >/#/notebook/2B3QSZTKR/paragraph/...?asIframe

Una vez generado el enlace, lo copiamos y añadimos en siguiente frame en el código de la aplicación:

<iframe src="http://< ip-address >:< port >/#/notebook/2B3QSZTKR/paragraph/...?asIframe" height="" width="" ></iframe>

Autor: Joakim Vivas

comments powered by Disqus