Curso Pentaho Community Edition 5 0 - ETL Module Student Lab Book v1.0

Page 1

Curso IntegraciĂłn de Datos con Pentaho Data Integration (PDI) Pentaho Community Edition 5.0

GuĂ­a del Estudiante

Richard Osmar Leon Ingaruca http://jrichardsz.weebly.com


Guía del Estudiante

Ejercicios Este curso incluye los siguientes ejercicios Ejercicio 1: Introducción al entorno de desarrollo de Pentaho. Ejercicio 2: Primer ETL Ejercicio 3: Conexión/Configuración a base de datos. Ejercicio 4: Pentaho Design Studio y Xactions Ejercicio 5: Pentaho BI Server: Configuración de Repositorios y Base de datos. Ejercicio 6: Pentaho BI Server: Ejecución, Programación y Monitoreo de Jobs Ejercicio 7: Variables, parámetros y Javascript. Ejercicio 8: Sentencias Lógicas para manipular los registros. Ejercicio 9: Manejo de Errores, logs y notificaciones por email.

Página 1


Guía del Estudiante

Abreviaturas Nombre Pentaho Data Integration Directorio PDI Pentaho Data Studio Material del Curso

Descripción IDE de desarrollo usado para desarrollar ETL. También conocido como SPOON Directorio donde se ha descomprimido el PDI IDE para el desarrollo de xactions Material suministrado por el instructor

Abreviatura PDI PDI_DIR PDS MATERIAL

Página 2


Guía del Estudiante

Instrucciones Se recomienda llevar a cabo todos los ejercicios, ya que la resolución de ejercicios posteriores dependerá de ello. El instructor suministrara un archivo comprimido con el material del curso. Descomprimirlo y guardarlo en disco.

Página 3


Guía del Estudiante

Contenidos Ejercicios ..................................................................................................................... 1 Instrucciones .............................................................................................................. 3 Breve descripción del Framework ............................................................................. 5 Ejercicio 1. Introducción al entorno de desarrollo de Pentaho. .............................. 7 Instrucciones para el ejercicio ........................................................................................ 8 Parte 1: Iniciar el entorno de desarrollo: PDI ................................................................ 8 Parte 2: Crear y Seleccionar un repositorio .................................................................. 9 Parte 3: Crear carpetas dentro del repositorio ........................................................... 10 Parte 4: Vista general de la interfaz.............................................................................. 11 Parte 5: Creación del ETL .............................................................................................. 11 Parte 6: Ejecución del ETL desde el PDI ..................................................................... 15 Parte 7: Logging del ETL ............................................................................................... 15 Lo que aprendiste ........................................................................................................... 18

Ejercicio 2. Primer ETL – Transformación .............................................................. 19 Instrucciones para el ejercicio ...................................................................................... 20 Parte 1: Configuración del Step de Input .................................................................... 20 Parte 2: Configuración del Step de Output ................................................................. 21 Parte 3: Ejecución de la Transformación .................................................................... 23 Lo que aprendiste ........................................................................................................... 24

Ejercicio 3. Conexión a base de datos .................................................................... 25 Instrucciones para el ejercicio ...................................................................................... 26 Parte 1: Configuración de la conexión: JDBC ............................................................ 26 Parte 2: Configuración de la conexión: JNDI .............................................................. 28 Parte 3: Creación del STEP: TABLE INPUT ................................................................. 30 Parte 4: Creación del STEP: TABLE OUTPUT ............................................................. 32 Lo que aprendiste ........................................................................................................... 35

Ejercicio 4. Pentaho Design Studio y Xactions....................................................... 36 Instrucciones para el ejercicio ...................................................................................... 37 Parte 1: Iniciar el DI Server ............................................................................................ 37 Parte 2: Creación del Proyecto que contendrá los xaction ....................................... 37 Parte 3: Referenciar al job sin Repositorio ................................................................. 39

Página 4


Guía del Estudiante

Breve descripción del Framework Pentaho es una herramienta de Business Intelligence desarrollada bajo la filosofía del software libre para la gestión y toma de decisiones empresariales. Es una plataforma compuesta de diferentes programas que satisfacen los requisitos de BI. Ofreciendo soluciones para la gestión y análisis de la información, incluyendo el análisis multidimensional OLAP, presentación de informes, minería de datos, ETL y creación de cuadros de mando para el usuario. La plataforma ha sido desarrollada bajo el lenguaje de programación Java y tiene un ambiente de implementación también basado en Java, haciendo así que Pentaho sea una solución muy flexible al cubrir una alta gama de necesidades empresariales. Pentaho usa las siguientes librerías, frameworks o tecnologías: Adaptx Ascsapjco3wrp Browserlauncher2 Commonslogging Dynamodb Ftp4che Gwtext Ifxjdbc Jakarta-regexp Javacup

Ant-contrib Asm Casandra

Apachecassandra Barbecue Com

Apache-cassandra-thrift Biz Commons-codec

Commons-vfs Eigenbase Georss-rome Gwt-fx Infobright Jakarta-taglibs Javadbf

Concurrent Elasticsearch Gnujaxp Hadoop Interbase Janino Javaparser

Dedupe Feed4j Gwt-dnd Hsqldb Itext Jars Javax

Jaybird Jcommon Jgoodiescommon Jsonpath Ldapjdk Mdx4j Monetdb

Jboss Jcommon-logging-log4jlog

Jcalendar Jexcelapi

Jcifs Jfree

Jgoodies-looks Jtds Libthrift Memcached Net

Jofc2 Jug-lgpl Log4j Metadatas Nickyb

Jsch Ktable Luciddb Metro Ofc4j

Ofcgwt Openjava Pentaho Rhino Secondstring Sun Trilead-ssh2

Olap4j Opensymphony Poi Rome Soap Svgsalamander Vaadin

Oopsconsultancy Org Postgresql Saaj-ri Splunk Svnant Weka

Openerp Palo Retroweaver Salesforce Sqlitejdbc Tigris Wsdl4j

Xerces

Xml-apis

Página 5


GuĂ­a del Estudiante

PĂĄgina 6


Guía del Estudiante

Ejercicio 1. Introducción al entorno de desarrollo de Pentaho. De qué trata este ejercicio El objetivo de este ejercicio es mostrar el uso del entorno de desarrollo de ETL del Pentaho: PDI.

Este ejercicio fue diseñado para permitirle     

Desplegar el entorno de desarrollo con la herramienta PDI para desarrollar ETL. Conocer que es una Transformación y un Job. Identificar que artefactos genera el PDI. Identificar el área donde se muestran los resultados de la ejecución (logging). Conocer las opciones y configuraciones que brinda el PDI

Introducción Este ejercicio demuestra el uso del IDE desarrollo PDI o Pentaho Data Integration. Usando un formato de visita guiada, se le mostrara las características y/o funcionalidades de la herramienta de desarrollo.

Requerimientos  

Sistema Operativo Windows Pentaho Data Integration

Página 7


Guía del Estudiante

A este IDE también se le conoce como: PDI, Spoon o Kettle

Instrucciones para el ejercicio Los siguientes pasos muestran el uso del entorno de desarrollo: PDI.

Parte 1: Iniciar el entorno de desarrollo: PDI a) Antes de iniciar el IDE, debemos descargarlo y descomprimirlo. Lo podemos hacer desde la página Oficial: community.pentaho.com

Información También se puede descargar desde su repositorio oficial en sourceforge: http://softlayerdal.dl.sourceforge.net/project/pentaho/Data%20Integration/5.0.1stable/pdi-ce-5.0.1.A-stable.zip

b) El directorio donde se descomprimirá el PDI, de ahora en adelante será llamado: PDI_DIR c) Iniciar el entorno de desarrollo PDI. Para ello abrir el directorio PDI_DIR y ejecutar el archivo Spoon.bat

Página 8


Guía del Estudiante

Tip Para monitorear o detectar errores de arranque, incidentes en la JVM, simplemente iniciar el PDI en modo debug, ejecutar el archivo: SpoonDebug.bat en cambio de Spoon.bat

Parte 2: Crear y Seleccionar un repositorio Al iniciar el PDI, nos solicita que seleccionemos un repositorio:

Kettle Database Repository: Usa una base de datos relacional para guardar la metadata de los ETL desarrollados.

Kettle File Repository: usa un archivo para guardar los ETL desarrollados. Con esta opción, las transformaciones y Jobs creados, solo se podrán guardar dentro de la carpeta especificada al inicio:

Defaul Repository: Los ETL desarrollados se pueden guardar en cualquier ruta del disco duro.

a) Creación de un Kettle File Repository 

Clic en el icono

, seleccionar la opción kettle file repository y clic en el botón ok. Se mostrara la siguiente ventana. Ingresamos los siguientes datos:

Página 9


Guía del Estudiante

Después de guardar, ya podremos seleccionar este repositorio:

Parte 3: Crear carpetas dentro del repositorio a) Una vez creado el repositorio, las carpetas se pueden crear directamente usando el explorador de Windows:

Estas carpetas serán visibles desde el explorador de repositorios del PDI

b) Las carpetas también pueden ser creadas desde el explorador de repositorios del PDI: Tools > repository > explore

Página 10


Guía del Estudiante

Parte 4: Vista general de la interfaz

Descripción: 

Barra de Menú.- Contiene todas las configuraciones del IDE. Principalmente, están las configuraciones de conexión a base de datos.

Paleta de diseño.- Contiene todos los steps del PDI como : table input, csv, input, table compare, null if, etc etc

Panel de diseño.- Es un panel drag and drop, en el cual se colocaran los steps arrastrados desde la paleta.

Panel de Ejecución de Resultados.- Aquí se podrá analizar y/o monitorear la ejecución de los steps, transformaciones y Jobs.

Parte 5: Creación del ETL El PDI nos permite crear 2 tipos de componentes:

Transformación (Transformation).Conjunto de pasos (steps) interconectados por medio de saltos (hops) que procesan registros a partir de un origen de datos y cuya salida son uno o más registros. Los steps dentro de una transformación se procesan de manera simultánea y asíncrona.

Página 11


Guía del Estudiante

Cada step nos permite realizar un proceso de entrada, transformación o salida de registros. PDI se puede conectar a prácticamente cualquier origen de datos, la siguiente imagen muestra los más utilizados:

Trabajo (Job).Conjunto de transformaciones, trabajos y pasos que se ejecutan de manera secuencial. El job en sí no maneja registros sino secuencias de tareas. La salida de cada job es un estado exitoso o fallido.

Página 12


Guía del Estudiante

Visto lo anterior, primero se ha de crear una o más transformaciones y luego uno o más jobs. b) Creación de una Transformación 

Para crear una transformación click en File > New > Transformation

Arrastrar desde la paleta de diseño los steps que sean necesarios.

Finalmente click en File > Save o click en el icono

Para establecer la ruta de la transformación, hacemos click en el icono

.

y seleccionadmos una ruta:

Lo anterior genera un archivo con extensión .KTR c) Creación de un Step 

Para crear un step, seleccionamos la pestaña diseño, seleccionamos uno y lo arrastramos al panel de diseño:

Para unir 2 steps : Página 13


Guía del Estudiante

o Seleccionamos el step o Presionamos la tecla shift y sin soltarla, con el clic izquierdo del mouse arrastramos en dirección al otro step :

o Al unirlos, seleccionamos la opción: Main ouput of step. La otra opción, será usada posteriormente, cuando tratemos el control de errores.

d) Creación de un Job 

Para crear un Job click en File > New > Job

Arrastrar desde la paleta de diseño los steps que sean necesarios.

Finalmente click en File > Save o click en el icono

Los pasos para establecer la ruta de la transformación son los mismos para el job.

.

Lo anterior genera un archivo con extensión .KJB

Información El Job tiene una particularidad. Pueden contener a otros componentes como Transformaciones y otros Jobs. Si se arrastra un step al job creado, deberemos especificar la ruta de archivo step el cual debe tener extensión .ktr Para especificar la ruta, hacemos doble click en el icono de la transformación:

Página 14


Guía del Estudiante

Análogamente para un Job.

Tip Si no recordamos el nombre de un step, el PDI nos ofrece una búsqueda rápida:

Parte 6: Ejecución del ETL desde el PDI 

Para ejecutar un job o una transformación click en Action > Run o click en el icono

En la ventana que aparece, click en launch.

Posteriormente En ejercicios posteriores se mostrara como ejecutar los ETL desde el servidor

Parte 7: Logging del ETL Durante la ejecución de una transformación o job, el PDI nos permite monitorearlos de distintas formas: 

Execution History

Logging

Steps Metrics

Performace Graph

Metrics Página 15


Guía del Estudiante

Preview Data

Los más usados son logging y step metrics: a) Logging Esta opción nos mostrará el clásico logging de una aplicación:

Para configurar el nivel del logging, click en el icono

Para limpiar el logging, click en el icono

.

.

En este panel se podrá visualizar el logging generado por el framework y el logging cada step

Posteriormente En ejercicios posteriores se mostrara el uso del step de logging:

Página 16


Guía del Estudiante

b) Step Metrics Los ETL del PDI están conformados por “n” nodos a los que se les conoce como steps. Para monitorear a cada step, el PDI nos brinda esta opción:

Página 17


Guía del Estudiante

Lo que aprendiste Este ejercicio mostró como iniciar el PDI así como las operaciones más comunes con las que el desarrollador de ETL interactuara. Fin del ejercicio

Página 18


Guía del Estudiante

Ejercicio 2. Primer ETL – Transformación De qué trata este ejercicio El objetivo de este ejercicio mostrar la creación de un ETL y la facilidad con la que se puede transformar la data desde una fuente de datos a otra.

Este ejercicio fue diseñado para permitirle  

Crear un ETL simple. Identificar cuán fácil es transformar la data con el PDI.

Página 19


Guía del Estudiante

Instrucciones para el ejercicio Parte 1: Configuración del Step de Input a) Iniciar el PDI y seleccionar el repositorio creado : curso-pentaho-etl b) Crear una transformación y guardarla con el nombre: csv-to-json y seleccionamos la ruta : /etl/ejercicio_02 c) Seleccionamos la pestaña diseño, expandimos la carpeta input y arrastramos el step : csv file input:

d) Doble clic en el icono de este step y seleccionamos la ruta del archivo csv:

Tip En un entorno más real, se recomienda que la rutas de archivos este en un archivos de configuración.

Este step nos brinda muchas configuraciones. Las más importantes son: 

Delimiter.- Nos permite indicar que carácter es usado para separar columnas en el archivo .csv

Header row present.- Nos permite especificar si en el archivo csv está presente el header o los nombres de columnas.

Página 20


Guía del Estudiante

e) Para verificar que la configuración y/o ruta del archivo es correcta, presionamos el botón get fields:

f) Después de cargar los campos, podemos ajustar aún más la configuración, con un clic sobre las celdas:

Parte 2: Configuración del Step de Output a) Seleccionamos la pestaña diseño, expandimos la carpeta output y arrastramos el step : json output:

b) Unimos estos 2 steps:

c) Doble clic en el icono de este step y lo configuramos(ver imagen de la página siguiente) Página 21


Guía del Estudiante

En la pestaña general, configuramos : o tipo de operación: generar un archivo, generar un valor de salida o ambos. o ruta del archivo a generar. o Nr rows in a bloc: valor de cero para que todos los registros estén en el mismo bloque.

En la pestaña fields, presionamos el botón get fields y finalmente ok:

Página 22


Guía del Estudiante

Parte 3: Ejecución de la Transformación a) Ejecutamos la transformación. El resultado debe ser como:

b) El archivo generado debe contener:

Página 23


Guía del Estudiante

Lo que aprendiste Este ejercicio mostró como crear una transformación, steps y la facilidad con la que el PDI puede transformar la data entre fuentes de datos distintas. Fin del ejercicio

Página 24


Guía del Estudiante

Ejercicio 3. Conexión a base de datos De qué trata este ejercicio El objetivo de este ejercicio mostrar la conexión a una motor de base de datos desde un transformación.

Este ejercicio fue diseñado para permitirle  

Identificar las diferentes formas de configurar la conexión a un motor de base de datos desde el PDI. Mostrar la facilidad con la que el PDI interactúa con los motores de base de datos.

Página 25


Guía del Estudiante

Instrucciones para el ejercicio

Para este ejercicio, por simplicidad usaremos el motor de base de datos mysql. En caso de no contar con alguno disponible, encontraremos un archivo credenciales-database.txt en la ruta: MATERIAL\Recursos Este archivo contiene los parámetros de conexión a una base de datos mysql remota (será necesaria una conexión a internet).

Parte 1: Configuración de la conexión: JDBC a) Iniciar el PDI , clic en : tools > repository > explore y seleccionar la pestaña Connecctions

b) Para crear una nueva conexión , clic en el icono

Página 26


Guía del Estudiante

Ingresamos un nombre para la conexión: jdbc_etl, los parámetros adecuados (host, contraseña, etc.).

c) Si testeamos la conexión obtendremos el siguiente error:

Este error indica que el PDI necesita el driver de conexión con mysql. Para ello, cancelamos y cerramos el PDI. Abrimos la carpeta PDI_DIR / lib y pegamos el jar de conexión a nuestra base de datos:

Página 27


Guía del Estudiante

g) Repetimos los pasos y al momento de testear la conexión veremos este mensaje:

h) Finalmente clic en ok.

Parte 2: Configuración de la conexión: JNDI

Si el Pentaho se desplegara en algún servidor de aplicaciones, podemos configurar para que se conecte a los Datasource suministrados por dicho servidor de aplicaciones.

a) Con el PDI cerrado, nos dirigimos a la ruta : PDI_DIR\simple-jndi En esta ruta encontraremos el archivo: jdbc.properties cuyo contenido es el siguiente:

Página 28


Guía del Estudiante

En este archivo podemos apreciar diferentes conexiones que usa el Pentaho para las demos. La sintaxis para definir el jndi es la siguiente:

    

SampleData: Nombre del jndi. type: Tipo de datasource. driver: Paquete y nombre de la clase dentro del driver de conexión. url: Cadena de conexión. user/password

b) Al final del archivo, agregamos los parámetros de nuestro jndi:

Estos parámetros son de la conexión remota provista por el instructor.

#DEMO_ETL JNDI / MYSQL REMOTO DEMO_ETL/type=javax.sql.DataSource DEMO_ETL/driver=com.mysql.jdbc.Driver DEMO_ETL/url=jdbc:mysql://db4free.org:3306/etlcurso DEMO_ETL/user=etluser DEMO_ETL/password=password

d) Iniciar el PDI , clic en : tools > repository > explore y seleccionar la pestaña Connecctions

e) Para crear una nueva conexión , clic en el icono

Página 29


Guía del Estudiante

La creación de una conexión jdbc o el registro de una conexión jndi se puede hacer desde los steps de table input y output. A modo de tip es recomendable registrarlas antes de iniciar el desarrollo.

Parte 3: Creación del STEP: TABLE INPUT a) Creamos y guardamos una transformación con el nombre table_input en la ruta: /etl/ejercicio_03/ b) Seleccionamos la pestaña diseño, expandimos la carpeta input y arrastramos el step : table input:

c) Doble clic en el icono de este step para seleccionar una de las conexiones registradas, ingresar la consulta sql, etc:

Página 30


GuĂ­a del Estudiante

c) Una vez configurado este step, podemos conectar cualquier otro step :

PĂĄgina 31


Guía del Estudiante

Parte 4: Creación del STEP: TABLE OUTPUT

a) Creamos y guardamos una transformación con el nombre table_output en la ruta: /etl/ejercicio_03/ b) Como fuente de datos usaremos el archivo csv del ejercicio número 2 (configurar de la misma forma). c) Seleccionamos la pestaña diseño, expandimos la carpeta input y arrastramos el step : table output:

d) Unir ambos y doble clic en el step output para configurarlo, seleccionando una conexión anteriormente registrada , esquema, tabla destino ,etc:

e) Para este ejemplo específico (mysql) sólo ingresaremos la tabla destino ya que no se cuenta con esquema. Para ello clic en el botón browse y seleccionar la tabla a usar:

Página 32


Guía del Estudiante

El siguiente paso es muy importante. Aquí se hará el match entre los datos provenientes de la fuente de datos csv con la tabla destino.

f) Hacemos clic en el checkbox specify database fields y seleccionamos la pestaña database fields:

g) Clic en el botón get fields y procedemos a relacionar las columnas de la fuente de datos csv con las columnas de la tabla destino:

Página 33


GuĂ­a del Estudiante

h) Finalmente clic en ok.

PĂĄgina 34


Guía del Estudiante

Lo que aprendiste Este ejercicio mostró como configurar las conexiones a un motor de base de datos ya sea usando una conexión nativa (jdbc) o JNDI. También se vio el uso de los steps table input y output. Fin del ejercicio

Página 35


Guía del Estudiante

Ejercicio 4. Pentaho Design Studio y Xactions De qué trata este ejercicio El objetivo de este ejercicio es mostrar el uso del IDE: Pentaho Design Studio

Este ejercicio fue diseñado para permitirle 

Crear y configurar los xaction que permita ejecutar los ETL publicándolos en el servidor Pentaho BI Server.

Página 36


Guía del Estudiante

Simplificaremos el nombre del IDE. De Pentaho Design Studio a PDS

Instrucciones para el ejercicio

Parte 1: Iniciar el PDS a) Antes de iniciar el IDE, debemos descargarlo y descomprimirlo. Lo podemos hacer desde la página Oficial: community.pentaho.com

Información También se puede descargar desde su repositorio oficial en sourceforge: http://sourceforge.net/projects/pentaho/files/Design%20Studio/ Seleccionar la versión 4 para este ejercicio. b) El directorio donde se descomprimirá el PDS, de ahora en adelante será llamado: PDS_DIR c) Iniciar el entorno de desarrollo PDS. Para ello abrir el directorio PDS_DIR y ejecutar el archivo eclipse.exe

d) Seleccionar una ruta para el workspace y ok.

Parte 2: Creación del Proyecto que contendrá los xaction a) Creamos un proyecto. Clic en file > new > Project , seleccionamos general > Project y next:

Página 37


Guía del Estudiante

b) Ingresamos un nombre y finish. c) Ahora clic izquierdo sobre el proyecto creado y una vez más clic en new > other y seleccionamos New Action Sequence Wizard:

d) Ingresamos un nombre para el xaction y finish.

Para los siguientes pasos, necesitaremos un job o una transformación sin errores.

Página 38


Guía del Estudiante

Parte 3: Ejecutar ETL que no cuenta con Repositorio Para el caso que se no se use un repositorio tipo file ni database. a) Creamos un xaction con el nombre no_repository. b) Ingresamos un título y demás información. c) Para configurar el xaction, clic sobre la pestaña : define process:

d) Aquí se visualizan 3 opciones de configuración: 

Process Inputs.- Parametros que recibirá el xaction

Process Actions.- Acciones que realiza el xaction una vez que es ejecutado.

Process Output.- Acciones a realizar después de la ejecución.

Para este ejemplo, no tendremos input, ni outputs, solo process actions.

e) En la sección de Process Actions , clic en el icono

y seleccionamos

Página 39


Guía del Estudiante

f) En la sección de Process Actions , clic en el icono

y seleccionamos

Página 40


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.