Howto hace business inteligence con Pentaho

[via mi tumblr]

Éste es un pequeño HowTo de como yo hice para montar PENTAHO en mi maquina con el motor Mondrian para OLAP y JPivot para navegarlo.

Éste curso NO tiene en cuenta lo que hay que saber para diseñar el cubo OLAP. Solo vamos a explicar como hacer el schema de Mondrian para que que se pueda navegar la BD ya creada y cargada con datos en el motor.

Como motor de base de datos yo usé MYSQL porque es lo que tenía a mano, pero podrían usar lo que prefieran.

A tener en cuenta:

  • Todo éste tutorial está orientado a usarse en la plataforma GNU|Linux. Teoricamente debería funcionar en cualquier distribucion.
  • Yo lo probe en UBUNTU 9.10 Karmic Koala y Archlinux con las actualizaciones al día y anduvo perfecto.
  • Necesitamos tener la maquina virtual java. En el 90% de las distros de linux el paquete se llama sun-java6-jre

1. Descargando lo que necesitamos

Lo recomendable es que descargues todos estos archivos en un mismo directorio, ya que los vamos a estar usando bastante

2. Configurando un poco

Una vez que descargamos todo, descomprimimos Pentaho.
Una vez descompreso Pentaho, tendremos dos directorios: “administration-console” (a partir de ahora PAC) y “biserver-ce”, el primero es la consola de administracion y el segundo es el servidor BI de pentaho y contiene la consola de usuario.
Un detalle a tener en cuenta que hasta que yo me enteré me hizo doler la cabeza: para que la consola de administracion ande tiene que estar corriendo primero PENTAHO (biserver-ce)

Bien, ejecutamos PENTAHO:
cd biserver-ce
sh ./start-pentaho.sh

listo!, ya tenemos PENTAHO corriendo
Si entras en un navegador a http://localhost:8080/pentaho vas a ver la pagina de bienvenida de pentaho

Ahora nos ensuciamos un poco las manos, a configurar un datasource. Un datasource es una conexion a una fuente de datos, en éste caso, una base de datos MYSQL.

cd administration-console
sh ./start-pac.sh
listo!, ya tenemos PAC corriendo

Si entras en un navegador a http://localhost:8099 vas a ver la consola de administracion
usuario: admin
password: password

Aca tenemos que ir a Administracion -> Database Connections y agregar una nueva apretando en el simbolito de (+) en el panel de la izquierda

Nosotros vamos a configurar un datasource para un una BD mysql *que ya existe en el motor de base de datos*, si todavia no la tenes creada y cargada con datos, éste es el momento.

Los datos que ponemos:

Name: {El que quieras}
Driver: Seleccionamos com.mysql.jdbc.Driver
User Name: [usuario del motor de base de datos]
Passoword: [password del usuario del motor de base de datos]
URL: jdbc:mysql://localhost:3306/[nombre de la base de datos]

3306 es el puerto donde esté corriendo el motor MYSQL. No es necesario ponerlo pero lo pongo para que sepan que si por alguna razon no están usando el puerto default de MYSQL, es ahi donde tienen que cambiar los datos 🙂

3. Usando Schema-Workbench

Configurar una conexion:
Para que schema-workbench funcione, tenemos que configurarle la conexion a la base de datos que vamos a usar para armar el cubo.
Primero, tenemos que asegurarnos de tener el driver de MYSQL para que Schema-Workbench se pueda conectar
Por suerte, Pentaho ya lo trae:

cp administration-console/jdbc/mysql-connector-java-5.0.7.jar schema-workbench/drivers/

Una vez copiado, ejecutamos schema-workbench:

cd schema-workbench/
sh workbench.sh

En workbench, vamos a Tools -> Connection

Driver Class Name: com.jdbc.mysql.Driver
Connection URL: jdbc:mysql://localhost:3306/[nombre de la base de datos]
User Name: [usuario del motor de base de datos]
Passoword: [password del usuario del motor de base de datos]
y le damos a TEST para ver si funciona, si funciona, le damos Accept y listo…

Ahora si, a trabajar
Para ésta parte, lo que mejor me encontré fue leer el tutorial (El pdf está al final de la pagina).
Es un tutorial que muestra un ejemplo simple para crear un schema para mondrian. Usar schema-workbench es MUY simple una vez que le agarras la mano.

4. Publicando el schema en pentaho

La parte chistosa de ésto es publicar el schema, que es lo que me costó entender.
Primero tenemos que configurar un password en pentaho para publicar schemas, para ésto, con el editor de tu preferencia, editamos:
./biserver-ce/pentaho-solutions/system/publisher_config.xml

Aca buscamos:

<publisher-config>
<publisher-password></publisher-password>
</publisher-config>

Y definimos el password que queramos entre: <publisher-password></publisher-password>
Ejemplo: <publisher-password>password</publisher-password>

Cuando le damos PUBLISH, nos va a pedir el password que acabamos de configurar arriba, y una cuenta de acceso a pentaho (Si no modificaste las cuentas por defecto Joe:password debería funcionar)
Si todo sale bien, tendremos una ventana nueva en donde se puden navegar los archivos, aca buscamos el directorio del datasource que creamos nosotros en el paso anterior (1.. Hacemos doble click, y listo, eso significa que vamos a hacer el deploy en ese directorio.)
Abajo, completamos con el nombre del datasource que creamos en (1) y si todo salió bien, tenemos el schema publicado

5. Navegar el cubo con JPivot

Si tenemos todo hecho y publicado, navegar el cubo es una pavada.

  1. http://localhost:8080/pentaho
  2. Entramos con el usuario admin: Joe:password
  3. Click en “New Analysis View”
  4. Seleccionas el esquema y el cubo que creaste
  5. y VOILÁ! ya podes navegar el cubo.

JPIVOT permite hacer MUCHAS cosas, pero eso te lo dejo a que lo descubras solo 🙂

FIN

Agradecimiento especial a Dario Bernabeu que si no hubiese sido por él nunca hubiese hecho andar nada.

Anuncios

No comments yet

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: