Un vistazo a los Notebooks
Este módulo provee a los científicos de datos de un entorno web multiusuario en el que elaborar modelos de análisis de la información almacenada en la Plataforma con sus lenguajes favoritos (Python, Spark, R, Tensorflow, Keras, SQL,…) de manera interactiva.
Los notebooks se definen y gestionan desde el propio Control panel de la plataforma, desde donde podemos:
Listarlos, en función del rol y los permisos veré los míos, además de asignarles permisos,…
Crear, editar y ejecutar los notebooks desde el propio Control Panel:
Publicar un Notebook como un microservicio, en este caso la plataforma se encarga automáticamente de desplegar ese microservicio y apificarlo para que se tenga acceso conforme a la seguridad identificada en plataforma.
El componente se soporta sobre el software open-source Apache Zeppelin (https://zeppelin.apache.org) sobre el que se ha creado un intérprete de plataforma:
El módulo permite crear algoritmos en diversos lenguajes en función de las necesidades y preferencias del científico de datos, soporta entre otros Python, Spark, R, SparkSQL, SQL, SQL HIVE, Shell,…
Posee la capacidad de combinar código de varios lenguajes dentro de un mismo notebook (utilizando intérpretes diferentes en cada párrafo de código):
Permite el uso de Spark, realizar cargas de archivos a HDFS, cargar de datos en tablas HIVE, lanzar consultas o realizar un proceso complejo de Machine Learning (ML) mediante las librerías de MLlib de Spark, R o Python,…
Ejemplo de carga de datos utilizando en intérprete de Spark:
Ejemplo de entrenamiento y predicción de un modelo predictivo utilizando las librerías de ML del intérprete de Python:
Permite usar librerías avanzadas de analítica, tanto internas, como externas (descargadas desde repositorios externos o propios), como Python NLTK o SparkNLP que permite programar, por ejemplo, la extracción de entidades de un texto, detectar el sentimiento de dicho texto, entrenar modelos, etc., sobre la información de la plataforma.
Estos Notebooks pueden orquestarse de forma visual a través de la plataforma, de modo que en función del resultado de uno de ellos se invoque a otro:
Permite crear visualizaciones de diferentes tipos, incluso añadiendo código HTM vía Angular, lo que nos permite crear visualizaciones sofisticadas.
Ejemplo de visualización de datos mediante gráficos:
Ejemplo de visualización de datos geoespaciales: