Pentaho, explosión de datos

Hace un tiempo estuvimos trabajando con Pentaho ante las posibilidades que proporcionaba para explotar los datos y poder “navegar” entre gran cantidad de información.

A un nivel muy superior, se puede decir que practicamente todo en Pentaho se ejecuta como una “Action sequence” (o secuencia de acciones). Esto proporciona algunos beneficios que no analizaré aqui, baste decir que nos aporta una gran flexibilidad en las opciones de despliegue.

Actualmente, tanto Eclipse, como aplicaciones stand-alone de JAVA como aplicaciones web de jBoss interaccionan con Pentaho por los método habituales que proporcionan estas herramientas (plugins, aplicaciones o aplicaciones web…) conectandose a través del nucleo de Pentaho. Hablando desde un nivel fundamental, el servidor Pentaho es orientado a metadatos, de esta forma se pueden definir las soluciones usando ficheros xml.

¿Qué es un Action Sequence? Es un conjunto de Action Definitions secuenciado y orientado a parametros (por ejemplo, ejecutar informe, general pdf, enviar email a Santiago…)

¿Qué es un Action Definition? Es una instancia configurada de un Action Component (por ejemplo, EMAIL=”Santiago”, SUBJECT=”Estado de cuentas”, component=”Email sender”…)

¿Qué es un Action Component? Es una implementación de una acción en el sistema (por ejemplo, Componente de Envio de Emails, Componente de Generación de PDFs…)

AS es una clase dirigida (for x in resultSet, do AD1, AD2, AD3).  AD es la instacia especifica de una llamada a un componente (AD1 con Email=Santiago, smtpserver=mail.enala.net, etc). AC es la clase Java que implementa el interface para el componente (public class EmailSenderComponent implements LoqueSeaPentahoInterface).

De acuerdo… ahora que hemos sentado las bases, vamos a algo mas concreto. Vamos a introducirnos es las tres mayores piezas del sistema:

Report Server
Esta es la pieza que se ejecuta en el servidor y que procesa las soluciones de Pentaho. Tiene un interfaz web para interactuar con el servidor Pentaho, tiene un repositorio para ejecutar estas soluciones y es capaz de planificar las Action Sequences. La instalación demo es facil en Windows, pero en Linux requiere algo de práctica.

Algunas capturas de pantallas del servidor funcionando con algunos informes que vienen con la instalación:

Pentaho-1

Los selección de parámetros:

Pentaho-2

El informe cruzado es bastante limitado:

Pentaho-3

Algunos datos del dashboard:

Pentaho-4

Asistente de creación de informes

Es una aplicación Java stand-alone que permite, paso por paso crear un informe. Este informe, actualmente, debe ser muy simple. He aquí los pasos necesarion para la creación:

1. Definir el origen de los datos y la consulta:

Pentaho-5

2. Seleccionar que columnas van a definir los grupos del informe:

Pentaho-6

3. Opciones de formateo del informe:

Permiten definir el aspecto del informe, los saltos de página, etc…

4. Opciones de formateo:

Pentaho-6

Aquí es donde, realmente se avanza… Se proporcionan las “opciones de formateo” para aquellos puntos donde el asistente no usa una plantilla. Bajo esta pantalla lo que se tiene es un constructor de una definición de JFreeReport. Pentaho puede construir los informes usando JFreeReport, BIRT y Jasper, aunque creo que se ha usado JFreeReport en este asistente.

5. Vista preliminar:

Pentaho-7

Se tienen las opciones que proporciona JFreeReport, esto es Excel, PDF y HTML.

5. Último paso:

El último paso es guardar el informe generado para poder usarlo tanto en el workbench como en el report server.

Workbench

El workbench es un plugin de eclipse que edita soluciones de Pentaho. Como las soluciones son ficheros XML, es una buena opción. Mi primera impresión es que el workbench funciona lo justo. Obviamente es mejor que escribir un fichero xml “a pelo”, pero se queda un poco corto para ser un GUI. Este GUI es muy eficiente para aquellos que conocen el XML subyancente (Componentes/Secuencias/Descriptores), pero para el que llega nuevo es un poco escaso.

pentday2-0007

Se puede usar el workbench para modificar el informe obtenido con el asistente y parametrizarlo. Por cada una de las cláusulas where que tenemos, las ligamos a un parametro de “request.PARAM1″ y se envía al servidor. Es un poco complicado entender el contexto en el que se realiza esto, pero hay que decir que siguiendo los pasos del ejemplo, se pueden obtener resultados brillantes.

En definitiva, una herramienta muy potente pero que necesita mejorar bastante, sobre todo en el asistente.

Tags: , , ,

Bookmark and Share

Una respuesta para “Pentaho, explosión de datos”

  1. 14 July 2009 a las 12:28

    Manuel dijo:

    Hola,
    soy nuevo en el tema de BI,hace unos meses probé a instalarme pentaho 2.0 estable en ubuntu 8.10 y la verdad que no tuve problemas,
    actualmente estoy realizando mi proyecto de fin de carrera utilizando pentaho y aplicaciones de data mining y lo que quiero es realizar una aplicacion propia detro de pentaho para poder realizar llamadas a aplicaciones como pueden ser rapid-miner, weka…… y mi problema es que internamente nose como trabaja pentaho y como puedo integrar unos determinados “botones” para realizar estas llamadas, otro problema que tengo es en la instalacion de pentaho 3.0 ya que hay bastantes cambios respecto la 2 y no se por donde meterle mano

    espero sus respuestas

    PD: gracias de antemano

Deje una respuesta

Código de seguridad: