Probando Pentaho I - Instalación

miércoles, 10 de abril de 2013

logopentaho
Como comenté en un artículo anterior,  Tercer Planeta se está introduciendo en el tema visualización de información
Generada la inquietud, fue necesario encontrar herramientas que nos permitan asociar los datos de nuestras bases con gráficos. Herramientas hay miles. Espectaculares. Pero, por supuesto, con altos costos de licencias. Una muy buena, es Tableau. Nos resultó muy fácil de instalar y usar. 
Existen también librerías de Javascript que nos permiten construir visualizaciones interesantes, entre ellas  protovis y D3.js. En este caso, el desarrollo no es sencillo.
Continuando nuestra búsqueda, consideramos que para visualizar datos, no podíamos descartar las soluciones de Business Intelligence. Así, encontramos opciones de código abierto  y de implementación sin costos de licencia, relativamente simples.

 Herramientas Open Source para Business Intelligence

En el área de Inteligencia de Negocios han surgido varias iniciativas de desarrollo de soluciones e implementación de herramientas Open Source. Existen en el mercado varias suites, entre ellas: Pentaho, SapgoBI, Vanilla,OpenI.
Todas parten de Mondrian (motor OLAP) + jpivot (interfase para OLAP) + kettle (ETL). Tienen diferentes políticas Open Source. En este artículo voy a contar nuestra experiencia con Pentaho (http://www.gravitar.biz)

 

Qué es Pentaho

Es un proyecto iniciado por una comunidad OpenSource, provee una alternativa de soluciones de BI en distintas áreas como en la Arquitectura, Soporte, Funcionalidad e Implantación. Estas componentes, al igual que su ambiente de implantación, están basadas en JAVA, brindando entonces gran flexibilidad.
Gracias a la integración funcional de diversos proyectos de OpenSource permite ofrecer soluciones en áreas como: análisis de información, reportes, dashboards, flujos de trabajo y minería de datos.
Las principales son:
  • Plataforma BI : provee la arquitectura y la infraestructura a la vez. Mondrian, forma parte del motor OLAP integrado en el SUITE BI de PENTHO.
  • Pentaho Reporting JfreeReport/ Pentaho Reporting: herramienta de Reportes.
  • Kettle Pentaho Data Integration (Extraction Transformation Load): usando una interface grafica “SPOON” permite diseñar “jobs” de transformación de datos para ser procesados bajo las herramientas de Kettle (PAN y KITCHEN)
  • WEKA : minería de datos.


Instalación y configuración de Pentaho

Mi primera aproximación fue por medio de las versiones comerciales disponibles. Bajé la versión para Windows 7. La instalación fue sencilla. Armé un pequeño data warehouse para un trabajo académico, con Oracle como base de datos.
Encontré buena documentación. Pude acceder bien a los datos, armar reportes y tableros de control.
Fue una experiencia útil para entender la herramienta y plantear nuevos problemas a resolver. De todas maneras, el desafío fue configurar la versión Open Source.
En los siguientes párrafos ennumero los pasos seguidos.  Hubo mucho 'google' y prueba y error! Hay mucha información disponible. Hice un resumen de todo lo leido, que ahora quiero compartir. Bienvenidos los comentarios y aportes!


Bajar zips y descomprimirlos en el lugar adecuado
Las herramientas de código abierto se pueden bajar de Pentaho community y sourceforge.
Bajé algunas de las herramientas que componen Pentaho y armé un cuadro con el detalle. Tomé como guía un artículo de la wiki de la comunidad.








A continuación la instalación de los tres primeros componentes.
  1. Crear directorio c:\Pentaho
  2. Descomprimir en el mismo el servidor BI de Pentaho (biserver-ce).
  3. Crear el directorio c:\Pentaho\design-tools.
  4. Dentro del mismo descomprimir las herramientas cliente. (prd-ce y psw-ce)




Java y variables de entorno
 La plataforma Pentaho BI necesita una JVM (Java Virtual Machine) instalada. Podemos bajarlo desde Sun Developer Network download page.
Pentaho usa las variables de entorno: JAVA_HOME y JRE_HOME.
En mi caso la dí de alta, esta es la imagen del setup


                     

 Arrancando el Server de Pentaho y la consola de Administración
Arranque del Server:
pentaho/biserver-ce> startup.bat

Acceso a Pentaho User Console:
http://localhost:8080/pentaho
(Usuario: joe Password: password)



Arranque de consola de Administración:
Pentaho/Administration-console/start-pac.bat
Acceso a la consola:
http://localhost:8099
(Usuario: admin Password: admin)

Hasta acá los pasos mínimos de instalación. Con esto es posible investigar los ejemplos y crear algún reporte o gráfico con las conexiones disponibles. Para trabajar con datos propios, un par de pasos más.



Conectar a una base de datos
 Instalar primero el driver adecuado para la base de datos. O archivo JAR. Este archivo normalmente se puede bajar desde el sitio oficial del motor a usar. Es importante instalar en cada directorio solamente la última versión del driver.
En mi caso, investigué las conexiones a SQL Server (motor para las aplicaciones que desarrollamos en Tercer Planeta). Tomé los drivers desde el sitio oficial de Microsoft. Probé también con los drivers de codigo libre. Estoy usando estos últimos.
Copié el driver jtds-1.3.0.jar en los siguientes directorios correspondientes al server, a la herramienta de reportes y al schema-workbench. Esta es la lista de directorios:
  1. Pentaho\administration-console\jdbc
  2. Pentaho\biserver-ce\tomcat\lib
  3. Pentaho\biserver-ce\data\lib
  4. Pentaho\design-tools\report-designer\lib\jdbc
  5. Pentaho\design-tools\schema-workbench\drivers
Una vez copiado el driver en los diretorios, reiniciar el servicio.
Creación de una conexión desde la pantalla de administración: (referencia Pentaho)




Nombre: es el que se usará desde los distintos componentes de Pentaho
Driver Class: lista de los drivers default de Pentaho. Debería incluir el instalado previamente. (net.sourceforge.jtds.jdbc.Driver)
Usuario: un usuario con permiso a la base de datos a acceder.
Password: para la base de datos
Url:jdbc:jtds:sqlserver://NombreServer:1433/BaseDatos;instance=nombreInstancia
Consideraciones de configuración
Para publicar reportes creados con el report-designer, o esquemas generados con schema-workbench:
Ingresar password en el archivo: Pentaho\biserver-ce\pentaho-solutions\system\publisher_config.xml
<publisher-config>
<publisher-password>password</publisher-password>
</publisher-config>

Para acceder a la consola desde otra máquina, reemplazar localhost por la IP en:
 Pentaho\biserver-ce\tomcat\webapps\pentaho\WEB-INF\web.xml

<!--  FullyQualifiedServerUrl is used only in the case of offline content generation and whenever something need to talk back to the server -->
<context-param>
<param-name>fully-qualified-server-url</param-name>
<param-value>http://TIERRA:8080/pentaho/</param-value>
</context-param>

Hasta acá la instalación inicial de Pentaho. Desde la consola es muy intuitiva la consulta los reportes y los cubos de ejemplo.
En próximos artículos generación de reportes (report-designer), herramientas de análisis (squema-workbench) y dashboards. ( CDF: community dashboard framework).