Archivo de la etiqueta: Kettle

Business Intelligence con Pentaho

[Visto: 4420 veces]

Hola amigos,

Tiempo que no escribo nada por aquí y hoy con un poco de tiempo quisiera compartirles un pequeño aporte sobre como realizar un proyecto de Business Intelligence con una herramienta que día a día se está haciendo conocida en nuestro Perú:  “Pentaho”. Para esto es necesario que sepan algunos términos teóricos como ETL, Datamart, Datawarehouse., entre otros.

Hoy en día conocemos muchas herramientas que nos permiten realizar proyectos de Business Intelligence. Por un lado tenemos aquellas herramientas que nos permiten realizar las tareas de extracción, transformación y carga de data conocidas como ETL, entre las cuales tenemos: DataStage, SQL Integration Services, entre otras. Por otro lado tenemos también aquellas herramientas que nos permiten realizar cubos OLAP y explotar la información, como por ejemplo: SQL Server Analysis Services, SQL Server Reporting Services, Microstrategy, Tableau, entre otras.

Si bien estas herramientas son muy útiles en las grandes empresas de nuestro país y tienen muchísimas ventajas en cuanto a las inplementaciones de proyectos de Business Intelligence, tienen una particularidad especial: “Necesitan una licencia”; es decir un monto que las organizaciones deben pagar para poder empezar a usarlas. Cada herramienta tiene sus detalles y sus ventajas una sobre las otras, ya depende de las organizaciones evaluar que herramienta se acopla mejor a cada una de ellas, pero este es un tema complejo el cual sería un debate muy interesante para plantearlo en un próximo post. Es aqui donde deseo indicar que existe una segunda posibilidad, una segunda chance para realizar un proyecto de Business Intelligence en nuestras empresas sin pagar una licencia, ¿Cómo?. La respuesta es simple, usando software libre, en este caso una herramienta muy potente conocida como Pentaho.

Pentaho es una herramienta de software libre que en los últimos años a crecido notablemente y que no tiene nada que envidiar a las herramientas de licencia pagada; incluso no solo tiene una suite de Business Intelligence, sino tambien una suite para realizar Minería de Datos. Entonces viene la pregunta ¿Porqué la gran mayoría de las empresas no lo usa?: la respuesta a mi entender es simple: “SOPORTE”. Por ser un software open source entonces no tiene el soporte que un software pagado tendría; además para su instalación, desarrollo y puesta en producción se debe investigar bastante debido a que no hay tutoriales que puedan dar respuesta a las dudas que puedan surgir en cuanto a su uso. Sin embargo a juicio personal, si ya tenemos clara nuestra teoría de Business Intelligence, la investigación sobre el uso de la herramienta se puede concretar en unas semanas y con ello gran parte de nuestras dudas serían aclaradas.

Ahora , pasaré a explicar un poco sobre la arquitectura de un proyecto de BI usando Pentaho; un breve resumen que nos puede ayudar a tener una idea de cuales son los pasos a seguir y los software a descargar para realizar un proyecto de Business Intelligence usando esta herramienta, evitándonos asì la tediosa tarea de investigar que producto de Pentaho es el que nos sirve para realizar un proyecto de Inteligencia de Negocios. Como lo mencioné en el párrafo anterior, Pentaho es una herramienta de BI muy poderosa ya que tiene una suite completa incluyendo herramientas para desarrollar nuestros ETL, nuestros cubos OLAP y explotar nuestra información a través de informes analíticos o Dashboards.

 

ETL – Kettle (Pentaho Data Integration)

La primera herramienta que debemos descargar y usar es Kettle de Pentaho. Como su nombre lo describe, Kettle es una herramienta que permite integrar nuestra información; es decir, mediante esta herramienta se puede realizar todos nuestros procesos ETL. Kettle permite extraer data de diversas fuentes de información ya sea archivos de texto, excel, csv o bases de datos como Oracle, Mysql, Postgresql, SQL Server, Informix, entre otras mas. Ademàs tiene una gama de tareas que nos permiten transformar la informaciòn; algunas de estas tareas son joins, agregaciones, càlculos, google analytics, ordenamiento, selecciòn, envìo de mails, entre otras tareas mas. Finalmente Kettle tambièn nos permite guardar informaiciòn transformada en las diversas bases de datos ya mencionadas. Además nos permitirá crear una secuencia de procesos conocidos en el mundo de BI como “Jobs” y programarlos de manera que corran secuencialmente a una hora deseada.

Tener en cuenta que para realizar los procesos ETL ya debemos haber definido cuales serán nuestras fuentes de datos (archivos, excel, o bases de datos transaccionales OLTP); así como nuestra base de datos final denominada Modelo Dimensioanl (Datamart o Datawarehouse) hacia donde queremos cargar la información.

A continuaciòn muestro el entorno de Kettle donde se puede apreciar una secuencia de procesos que seràn ejecutados uno despuès de otro:

20140602-kettle_sequence.jpg

 

A su vez cada proceso puede llamar a otros procesos como se muestra en la imagen siguiente:

20140602-kettle_transformer.jpg

 

Finalmente, cada proceso puede llamar a una serie de tareas (Jobs) que serán ejecutadas en forma secuencial, tal y como se muestra en la imagen:

20140602-kettle_job.jpg

 

Pentaho Schema Workbench – (Mondrian)

Luego de realizar nuestros procesos ETL, debemos de llevar nuestra información a cubos OLAP; para ello Pentaho nos provee una herramienta muy poderosa que nos permitirá realizar ello llamada Schema Workbench, la cual tambien debemos descargarla para empezar a usarla. Esta herramienta de por sí lleva instalada otro software denominado Mondrian (el cual ya no debemos de descargar) que es el que permitirá realizar los cubos OLAP. Esta herramienta nos permitirá crear nuestro cubo OLAP proveniente de la Fact Table; asi como las Dimensiones, Jerarquías y Medidas necesarias que previamente ya debemos haber definido en nuestro Modelo Dimensional. Algo muy importante aquí es que para trabajar con Schema Workbench debemos de conectarnos a nuestra fuente de datos donde tengamos nuestro Modelo Dimensional ya definido. Para ello Schema Workbench nos permite conectar a diversas bases de datos en las cuales estará nuestro Modelo Dimensioanal; estas bases de datos pueden ser Oracle, Mysql, Postgresql, SQL Server, entre otras mas.

A continuación muestro una imagen del entorno de Schema Workbench con un cubo denominado DatamartVentas y las Dimensiones, Jerarquías, Niveles y Medidas que he creado para dicho cubo:

20140602-workbench.jpg

 

Una vez que hayamos definido nuestros Cubos con las Dimensiones, Jerarquías, Niveles y Medidas necesarias; Schema Workbench guardará toda esa información en un archivo XML el cual debemos de publicar a la web de Pentaho. Para ello simplemente vamos a Files -> Publish y nos saldrá la siguiente ventana de diálogo donde debemos de configurar las variables web para publicar nuestro cubo en la web. A continuación muestro la imagen de la ventana en la cual debemos ingresar las variables web correctas:

20140602-publishworkbench.jpg

 

Pentaho biserver-ce 5.0.1 – stable

Pentaho biserver es el entorno web en el cual podremos explotar la información que se encontraba en el Cubo publicado en el paso anterior desde la herramienta Schema Workbench. Este entorno web de Pentaho es muy rico ya que podemos hacer diversos reportes de acuerdo a nuestras necesidades, así como tableros de control (Dashboards) que nos ayuden a tomar una mejor decisión en base a la información que manejamos en nuestras organizaciones. Para ello Pentaho biserver cuenta con el Tomcat el cual nos va a permitir levantar la web a través del puerto 8080.

A continuación muestro la imagen de inicio de sesión de Pentaho Web:

20140602-pentahowebinicio.jpg

 

Una vez que ingresamos a Pentaho Web podemos no solo crear reportes y dashboards sino también administrar la página, crear nuevos usuarios y roles. A continuación muestro la imagen de Pentaho Web Home y otra imagen donde se puede apreciar la Administración de privilegios y roles respectivamente:

20140602-pentahoweb_home.jpg

 

20140602-pentahoweb_administracion.jpg

Regresando a la forma de como vamos a explotar nuestra información; el cubo que se resumía en un archivo XML publicado a través de Schema Workbench debe verse reflejado en nuestra Web de Pentaho. Como mencione líneas arriba Pentaho nos permite aplicar diversas maneras de explotar la información una de ellas es a através de “JPivot” que es una herramienta que nos permite ver la información a través de celdas, filtros, filas y columnas agrupadas.

A continuación muestro una imagen donde se verifica que el cubo se encuentra publicado en nuestra Web de Pentaho

20140602-esquemapublicado.jpg

 

La siguiente imagen muestra como se está explotando la información a través de la herramietna JPivot en nuestra Web de Pentaho pudiendo llegar hasta un nivel de día, ciudad y productos vendidos:

20140602-pentahoweb_jpivot.jpg

 

Pentaho tambien nos proporciona otra herramienta similar a la anterior denominada Pivot4J Analytics la cual permitirá explotar la información de una forma un tanto mas dinámica. A continuación muestro una imagen usando dicha herramienta:

20140602-pentahoweb_4jpivot.jpg

 

Como mencione líneas arriba además de explotar la información analíticamente a través de reportes dinámicos, Pentaho también nos permite explotarla mediante dashboard. Para ellos podemos usar la herramienta Salku Analytics o construir nuestro propio Dashboard con la herramienta CDE Dashboad.

La siguiente imagen es un dashboard proporcionado por la herramienta Salku Analytics y muestra el porcentaje de ventas realizadas por cada línea de producto vendido durante los años de venta:

20140602-pentahoweb_salkuanalytics.jpg

 

La herramienta CDE Dashboards nos permite realizar nuestros propios tableros de control, lo cual con una ligera practica y viendo los tutoriales podemos aprender muy rápidamente a construir un Dashboard.

20140602-pentahoweb_cde.jpg

Bien por el momento esto es todo lo que puedo resumirles en cuanto a como realizar un proyecto de Business Intelligence usando Pentaho (Kettle, Mondrian, Suite BI). Si quieren descargar dichos programas basta con que registren en la web de Pentaho y lo descarguen desde allí: http://www.pentaho.com/

Como se habrán dado cuenta solo he explicado la arquitectura para hacer un proyecto de Business Intelligence usando Pentaho; sin embargo no he entrado a detalle sobre como funciona cada herramienta ni como debemos de configurar cada una de ellas. Esta es una tarea de investigación la cual debemos de realizar.

 

BI is the power…!!!

 

Momento del marketing: Pueden contactarme vía este medio o los descritos abajo para brindarles una capacitación de Pentaho o temas relacionados a Business Intelligence:

Celular:  994840916

Correos: rhmoreno@pucp.pe, rhmorenoreyes@gmail.com

Rolando

 

 

Sigue leyendo