Hace ya algunos meses que mostramos cómo el motor OLAP de código libre Apache Kylin hace posible el análisis OLAP sobre Big Data, o lo que es lo mismo, la posibilidad de realizar consultas analíticas con tiempos de respuesta inferiores al segundo sobre enormes volúmenes de datos (hasta billones y trillones de filas).
Y a los que además acompañan otras características como la necesidad de capturarlos y analizarlos en tiempo real, o la integración desde múltiples fuentes datos menos estructuradas.
Además, mostramos en un caso de estudio cómo integrar Apache Kylin con el motor OLAP Pentaho Mondrian para la creación de vistas multidimensionales con visores como STPivot, haciendo también posible la consulta del Big Data mediante el lenguaje MDX. También mostramos cómo integrar Apache Kylin con Apache Zeppelin, herramienta de exploración de datos para la creación de cuadros de mando interactivos.
Como puede verse en el diagrama anterior, el almacén de datos (Data Warehouse, DW) se crea en forma de modelo estrella o copos de nieve (nuevo en Kylin 2.0) 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 con Map Reduce o Spark (nuevo en Kylin 2.0), crea un cubo multidimensional (MOLAP) en la BD NoSQL Apache HBase.
En el caso de Kylin, el cubo MOLAP lo forman un conjunto de estructuras que pre agregan o resumen los datos a distinto nivel, siendo esta característica una de las que más reducen el tiempo de consulta. A partir de este momento, Kylin permite hacer consultas sobre el cubo MOLAP generado a través de su interfaz SQL, también accesible a través de conectores J/ODBC.
Precisamente gracias a la disponibilidad de conexión ODBC, es posible conectar Kylin con herramientas como Tableau o Power BI. En nuestro caso, hemos hecho uso de las herramientas Tableau Desktop y Tableau Public para la creación de un cuadro mando sobre un cubo OLAP que contiene datos académicos, relativos a los últimos 15 años de una universidad de gran tamaño. A partir de esta fuente de datos Big Data, 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.
En primer lugar hemos usado Tableau Desktop, herramienta comercial, 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 Zeppelin. La herramienta Tableau Desktop facilita a los usuarios finales de los datos (ej. analistas u otras personas del negocio) la creación y publicación de completos cuadros de mando, arrastrando y soltando las fuentes de datos y gráficos en un lienzo. A continuación mostramos una captura del diseño del cuadro de mando con Tableau Desktop.
Tras esto, publicamos nuestro cuadro de mando para compartirlo con el resto de nuestra organización. Si requerimos una conexión en vivo necesitaremos una licencia de Tableau Server o Tableau Online.
Sin embargo, podemos optar por crear un extracto de los datos y publicar el cuadro de mando con la herramienta gratuita Tableau Public, como es el caso de nuestro cuadro de mando de ejemplo. Como podemos ver la web de la demo y en la siguiente captura, el resultado es un cuadro de mando con un aspecto profesional y cuyo desarrollo es fácil, incluso para un usuario no experto en Big Data y herramientas BI como Tableau.
Cómo veis, se abren unas posibilidades increibles, al poder realizar auténtico Business Intelligence sobre Big Data. Para cualquier cuestión, estaremos encantados de ayudaros en vuestros proyectos