power-bi_icono Cuadro de Mando con Kylin y Power BI

El objetivo de esta demo es mostrar como la combinación entre las herramientas Apache Kylin, servidor analítico distribuido sobre Hadoop, y Power BI, herramienta para la exploración y visualización de fuentes Big Data, nos permite la creación y publicación de un cuadro de mando que usa como fuente un conjunto de datos de tipo Big Data.

Los datos usados, relativos al rendimiento académico histórico de una gran universidad, tienen un Volumen suficiente para considerarse Big Data (>100 millones de filas en la tabla hechos).

Sobre esta fuente de datos Big Data y mediante el uso de Power BI, hemos creado un cuadro de mando con el que el visitante de esta demo puede interactuar más abajo.

loadingCargando
Información

En el caso de estudio que presentamos, hacemos uso de las herramientas Apache Kylin , Power BI Desktop y Power BI Servicio para dar soporte al análisis mediante Cuadros de Mando de un almacén de datos (Data Warehouse, DW) que contiene datos con características Big Data (Volumen, Velocidad y Variedad).

Se trata de un gran Volumen de datos académicos, relativos a los últimos 15 años de una universidad de gran tamaño. A partir de esta fuente de datos, se ha diseñado un modelo multidimensional para el análisis del rendimiento académico. En él contamos con unos 100 millones de medidas cómo los créditos relativos a asignaturas aprobadas, suspendidas o matriculadas. Estos hechos se analizan en base a distintas dimensiones o contextos de análisis, como el Sexo, la Calificación o el Año Académico.

Dado que este Volumen de datos es demasiado grande para analizarlo con un rendimiento aceptable con los sistemas OLAP (R-OLAP y M-OLAP) tradicionales, hemos decidido probar la tecnología Apache Kylin, la cual promete tiempos de respuesta de unos pocos segundos para Volúmenes que pueden superar los 10 billones de filas en la tabla de hechos o medidas.

Las tecnologías del entorno Hadoop fundamentales para Kylin son Apache Hive y Apache HBase. El almacén de datos (Data Warehouse, DW) se crea en forma de modelo estrella y se mantiene en Apache Hive. A partir de este modelo y mediante la definición de un modelo de metadatos del cubo OLAP, Apache Kylin, mediante un proceso offline, crea un cubo multidimensional (MOLAP) en HBase. A partir de este momento, Kylin permite hacer consultas sobre el mismo a través de su interfaz SQL, también accesible a través de conectores J/ODBC.

Por último, para hacer posible la exploración de los datos del cubo de Kylin mediante lenguaje SQL y la creación de cuadros de mando que podamos compartir con los usuarios finales de los datos, hemos hecho uso de las herramientas Power BI Desktop y Power BI Service.

En primer lugar hemos usado Power BI Desktop, herramienta gratuita, para la conexión con Apache Kylin y la creación de un cuadro de mando similar al que realizamos para el ejemplo con Apache Zepelin y, también, con Tableau. La herramienta Power BI es una herramienta de Autoservicio para el usuario final (Self Service BI): facilita la creación y publicación de completos cuadros de mando a los usuarios finales de los datos, así como el modelado y transformación de los datos si es necesario.

Una vez diseñado el cuadro de mando, lo hemos publicado en la Web haciendo uso del servicio en la nube de Power BI. Para ello, es necesario la creación de un extracto o copia de los datos, que se hace de forma transparente al usuario y se sube a la nube de Power BI junto con el cuadro o cuadros de mando. En este caso hemos usado la versión gratuita, aunque también dispone de versiones Pro y Premium con características añadidas como la compartición intra organización (además de vía Web) o el refresco programado de los datos del extracto desde el origen, Apache Kylin por ODBC en nuestro caso.


Información

Desarrollada por eBay y posteriormente liberada como proyecto Apache open source, Kylin es una herramienta de código libre que da soporte al procesamiento analítico en línea (OLAP) de grandes volúmenes de datos con las características del Big Data (Volumen, Velocidad y Variedad).

Sin embargo, hasta la llegada de Kylin, la tecnología OLAP estaba limitada a las bases de datos relacionales o, en el mejor de los casos, con optimizaciones para el almacenamiento multidimensional, tecnologías con importantes limitaciones para enfrentarse al Big Data.

Apache Kylin, construida sobre la base de distintas tecnologías del entorno Hadoop, proporciona una interfaz SQL que permite la realización de consultas para el análisis multidimensional de un conjunto de datos, logrando unos tiempos de consulta muy bajos (segundos) para hechos de estudio que pueden llegar hasta los 10 billones de filas o más.

Las tecnologías del entorno Hadoop fundamentales para Kylin son Apache Hive y Apache HBase. El almacén de datos (Data Warehouse, DW) se crea en forma de modelo estrella y se mantiene en Apache Hive. A partir de este modelo y mediante la definición de un modelo de metadatos del cubo OLAP, Apache Kylin, mediante un proceso offline, crea un cubo multidimensional (MOLAP) en HBase. Se trata de una estructura optimizada para su consulta a través de la interfaz SQL proporcionada por Kylin.

De esta forma cuando Kylin recibe una consulta SQL, debe decidir si puede responderla con el cubo MOLAP en HBase (en milisegundos o segundos), o sí por el contrario, no se ha incluido en el cubo MOLAP, y se ha ejecutar una consulta frente al esquema estrella en Apache Hive (minutos), lo cual es poco frecuente.

Por último, gracias al uso de SQL y la disponibilidad de drivers J/ODBC podemos conectar con herramientas de Business Intelligence como Tableau, Apache Zeppelin o incluso motores de consultas MDX como Pentaho Mondrian, permitiendo el análisis multidimensional en sus formas habituales: vistas o tablas multidimensionales, cuadros de mando o informes.


Información

Power BI es un conjunto de herramientas Business Intelligence (BI) desarrolladas por Microsoft. De reciente aparición, gracias a su simplicidad y potencia se ha hecho un un hueco entre las grandes del mercado como Tableau, Pentaho o Microstrategy. Al igual que estas últimas, implementa la filosofía de Autoservicio para el usuario final (Self Service BI) llevada al extremo de la sencillez, pero con un gran número de características como el desarrollo de cuadros de mando (denominados informes en Power BI), la compartición web o dentro de la organización, un gran número de gráficos incluyendo gráficos con análisis estadístico (ej. forecasting página 2 demo), conexión a fuentes relacionales y Big Data, exploración en lenguaje natural (Q & A), soporte para ejecutar código R y visualizar resultados, o pre procesamiento de datos (ETL).

Las características anteriores se implementan repartidas en las distintas aplicaciones. Power BI Desktop es la herramienta de cliente para la exploración, transformación y diseño de visualizaciones a partir de los datos. Se trata de una herramienta completamente gratuita, que dispone de conexiones a las fuentes Big Data y relacionales más usadas. Aunque para algunas fuentes dispone de un conector específico, en el caso de Apache Kylin hemos de hacer uso del conector ODBC disponible en su web. Tras la conexión, se genera un extracto de los datos. A partir de este momento los pasos para la creación de nuestro cuadro de mando han sido i) la definición del modelo de datos, ii) la aplicación de alguna transformación (ej. formato de fecha), iii) la definición de métricas calculadas (ej. tasa de éxito) o jerarquías sobre las dimensiones (ej. tabla OLAP página 2 demo), y, por último, iv) la creación del cuadro de mando demo, compuesto por dos páginas (selector en barra inferior).

Una vez hemos diseñado y guardado nuestro cuadro de mando con Power BI Desktop, llega el momento de compartirlo. Para ello hemos creado una cuenta de Power BI Service en su alternativa gratuita, pues en esta herramienta sí dispone de versiones Pro y Premium, ambas de pago. Aunque estas versiones disponen de conexión directa a algunas bases de datos como SQL Server (con o sin Analysis Services), Oracle o Cloudera Impala, para el resto de conexiones, como la conexión ODBC con Kylin, es necesario publicar el extracto de los datos, que se refresca de forma manual (versión gratuita) o programada (Pro y Premium).

Además de Power BI Desktop y Power BI Service (Free, Pro y Premium), existen otras herramientas como Mobile , para el acceso a los informes desde nuestro smartphone y el trabajo colaborativo, o Embedded, para componer nuestras propias aplicaciones, portales web, Share Point a partir de las visualizaciones desarrolladas con Power BI.

Sí estas interesado en hacer tu proyecto con esta tecnología no dudes en solicitar presupuesto en StrateBI.


Información

Como fuente datos Big Data de esta demo, disponemos de un

gran Volumen de datos académicos ficticios, relativos a los últimos 15 años de una universidad de gran tamaño y por la que han pasado más de un millón de alumnos en este tiempo. A partir de esta fuente de datos, se ha diseñado un modelo multidimensional para el análisis del rendimiento académico.

En él contamos con unos 100.000 millones de medidas cómo la suma de los créditos relativos a asignaturas aprobadas, suspendidas o matriculadas.

Además también nos encontramos con otras medidas derivadas de las anteriores y, por tanto, más complejas como son la Tasa de rendimiento y Tasa de éxito, calculadas a partir de la relación entre Créditos Superados y Créditos Matriculados y de la relación entre Créditos Superados y Créditos Presentados.

No menos importantes son las dimensiones o contextos de análisis en base a los que se analizan las medidas anteriores. Como dimensiones de un solo nivel tenemos el Sexo, la Calificación, el Rango de Edad y la siempre presente componente temporal, el Año Académico. Además, hemos incorporado dos dimensiones complejas, con jerarquías de dos niveles y una mayor cardinalidad, siendo frecuente encontrarnos con dimensiones de esta naturaleza.

Con la dimensión Estudio, podemos analizar los datos agrupados al nivel de Tipo de Estudio (Grado, Máster, Doctorado,...) o profundizar (operación Drill Down sobre la vista OLAP) hasta los distintos Planes de Estudio, esto es, las distintas titulaciones, como "315-Grado en Biología".


I+D+i BigData

En StrateBI creemos en el valor de las tecnologías Big Data para el procesamiento de datos y la obtención de conocimiento a partir de los mismos, con el objetivo siempre en mente de mejorar los procesos de toma de decisiones de las organizaciones de cualquier sector, nuestro equipo lleva a cabo una fuerte labor de I+D+i en Big Data.

Investigación

Revisamos novedades y documentación científica de las tecnologías Big Data.

Se hace tanto aquellas emergentes en las que detectamos un gran potencial, como sobre aquellas ya consolidadas.

Con ello detectamos los puntos en los que se puede desarrollar o aprovechar alguna mejora.

Desarrollo

Ponemos en práctica los resultados de las investigaciones anteriores.

Implementamos la mejoras y validamos su aplicación con diversos casos de estudio del mundo real, como los que podemos explorar en nuestra demos Big Data.

Innovación

Una vez hemos comprobado su utilidad y robustez, las introducimos en los proyectos que ofrecemos a nuestros clientes.

De esta forma, StrateBI garantiza el uso de la tecnologías Big Data más novedosas, previamente testeadas y mejoradas por nuestro equipo de I+D+i en Big Data.


Tecnologías Usadas

hadoop

Apache Hadoop es el entorno Big Data por excelencia, permitiendo la computación distribuida en clústeres formados por hardware comercial y de bajo coste.

En su forma más básica incluye almacenamiento distribuido (HDFS), un gestor de recursos de ejecución (YARN) y, funcionando sobre este, el entorno para el desarrollo y ejecución de aplicaciones que implementan en procesamiento distribuido (MapReduce).

Además, sobre la base de los componentes anteriores, han surgido numerosas herramientas, como Hive o Spark, que aportan modelos simplificados de programación para una amplia gama de tareas de procesamiento Big Data.

De entre las distintas tecnologías Big Data, Hadoop es la solución más completa y la que aporta un enfoque más general, siendo ideal para la implementación del novedoso concepto de Data Lake para la posterior explotación de los datos en aplicaciones analíticas.

flume

Flume es un sistema distribuido y confiable para la eficiente colección, agregación y movimiento de datos Streaming.

kafka

Kafka es un sistema de mensajería (publicador-suscriptor) distribuido, tolerante a fallos y de alto rendimiento.

hortonworks cloudera

Con el objetivo de facilitar la instalación y gestión del entorno Hadoop, y de todo el conjunto de aplicaciones que se integran con el mismo, disponemos de lo que se conoce como distribución de Hadoop.

Se trata de un paquete de software, que incluye los componentes básicos de Hadoop junto con una pila de herramientas adicional, listos para su instalación en sistemas operativos Ubuntu, Debian, CentOS o, incluso, Windows Server.

En este sentido, desde de StrateBI recomendamos el uso de una distribución, siendo Hortonworks y Cloudera actualmente las distribuciones líderes. Es por ello que los clústeres Hadoop sobre los que se ejecutan nuestras demos son Hortonworks y Cloudera, siendo ambas soluciones una opción ganadora.

spark spark streaming

Spark implementa el procesamiento de datos haciendo uso intensivo de la Memoria Ram del clúster, en lugar de hacer uso intensivo de disco como MapReduce.

De esta forma se consigue mejorar en gran medida el rendimiento de las aplicaciones Big Data, siendo adecuado para la implementación de algoritmos iterativos de Machine Learning (MLib), análisis estadístico (módulo R) o el análisis de datos en tiempo real (Spark Streaming), aplicación que hemos puesto en práctica en nuestra demo.