• No se han encontrado resultados

PEntaho Data Integration (PDI, también conocido como

N/A
N/A
Protected

Academic year: 2021

Share "PEntaho Data Integration (PDI, también conocido como"

Copied!
6
0
0

Texto completo

(1)

KETTLE

Profesora: Elizabeth León Grupo de Investigación MIDAS

Bases de Datos Avanzadas Ingeniería de Sistemas y Computación

Universidad Nacional de Colombia [email protected]

1. PENTAHODATAINTEGRATION(KETTLE)

PEntaho Data Integration (PDI, también conocido como Kettle) es el componente de Pentaho responsable del proceso de Extracción, Transformación y Carga (ETL) de datos. Aunque las herramientas de ETL son más usadas en entornos de Bodegas de Datos, PDI puede usarse además para otros propósitos:

Migrar datos entre aplicaciones y bases de datos.

Exportar datos desde una base de datos a archivos planos.

Cargar datos de forma masiva en bases de datos.

Limpieza de Datos.

Integración de aplicaciones.

PDI es de un fácil manejo. Cada proceso es creado con un herramienta gráfica donde se especifíca qué hacer y cómo hacerlo. Puede usarse como una aplicación independiente o puede ser usada en conjunto con los demás componentes de la Suite de Pentaho.

Como una herramienta ETL, es la herramienta open source disponible más popular. PDI soporta varios formatos de entrada y salida, incluyendo archivos de texto, hojas de datos y mototres de bases de datos comerciales y libres.

2. COMPONENTES DEPDI

Pentaho Data Integration está formado por los siguientes componentes primarios:

Spoon: Es una aplicación de escritorio que utiliza una interfaz gráfica y un editor para diseñar transformaciones y trabajos. Spoon provee las herramientas para crear complejos trabajos ETL sin necesidad de leer o escribir código. Las transformaciones y trabajos diseñados con Spoon se pueden ejecutar con la herramientas de Kettle, Pan y Kitchen.

Pan: Es un motor de transformación de datos que realiza muchas funciones tales como lectura, manipulación y escritura de datos hacia y desde varias fuentes de datos.

Kitchen: Es un programa que ejecuta los trabajos dis- eñados por Spoon en XML o en un catálogo de bases de datos.

Carte: Carte es un servidor web sencillo que permite ejecutar transformaciones y trabajo remotamente. Lo hace aceptando XML (mediante un pequeño servlet) que con- tiene la transformación a ejecutar y la configuración de ejecución.

3 INSTALACIÓN

En la página http://kettle.pentaho.com/ puede encontrarse disponible la última verión (4.4.0) de Kettle. Kettle requiere el Java Runtime Environment (JRE) versión 1.5 o más reciente.

Se puede obtener de http://java.sun.com/.

PDI no requiere instalación. Simplemente se descomprime el archivo descargado de la página en una ubicación seleccionada. Dentro se encuentran todos los componentes mencionados anteriormente.

4. SPOON

Spoon es la herramienta gráfica con la cual se diseñan y prueban todos los procesos de PDI. Los demás componentes de PDI ejecutan los procesos diseñados en Spoon, y son ejecutados desde una terminal.

4.1 Repositorios y archivos

En Spoon se construyen trabajos y transformaciones. PDI ofrece dos medios para salvarlos:

Repositorio en una base de datos.

Archivos.

Si se selecciona la opción del repositorio, el repositorio tiene que ser creado desde el primer momento en que se corre Spoon. Si se selecciona la opción de archivos, los trabajos son salvados en archivos con extensión kjb, y las transformaciones en archivos con extensión ktr. En la presente guía se trabajará con el segundo método (archivos).

4.2 Iniciando Spoon

Spoon se inicia al ejecutar el archivo spoon.bat en Windows, o spoon.sh en sistemas operativos Unix. Cuando Spoon inicia, una ventana de diálogo pregunta por los datos de conección al repositorio. Oprimir el botón Cancel.

Spoon nos comparte ciertos tips a usar cada vez que lo abrimos. Se pueden consultar varios tips o simplemente cerrar ésta ventana y continuar con el trabajo.

(2)

4.3 Hola Mundo

A través de éste sencillo ejemplo se introducirán los siguientes conceptos y fundamentos de PDI:

Trabajo con la herramienta Spoon.

Transformaciones.

Pasos (Steps) y Saltos (Hops).

Variables predefinidas.

Previsualización y ejecución desde Spoon.

Ejecución de transformaciones desde una terminal con la herramienta Pan.

4.4 Problema

Se tiene un archivo CSV que contiene una lista de personas y se quiere crear un archivo XML que contenga un saludo para cada una de éstas. Si éste es el contenido del archivo CSV de entrada:

Figure 1. Contenido del archivo CSV

Éste sería el contenido del archivo XML de salida:

Figure 2. Contenido del archivo XML

La creación del archivo con los saludos, partiendo del archivo de texto plano, será el propósito de la primera transformación a realizar.

Un Transformación está hecha de Pasos unidos por Saltos.

Éstos Pasos y Saltos forman caminos a través de los cuales los datos fluyen.

4.5 Preparando el entorno

Antes de empezar con la transformación, es recomendable crear una carpeta con nombre Tutorial donde se salvarán

todos los archivos utilizados y generados. Crear luego un archivo CSV como el anteriormente mostrado y guardarlo como list.csv1.

4.6 La Transformación

El objetivo será alcanzado al cumplir tres subtareas:

Crear la Transformación.

Construir el esqueleto de la transformación usando Pasos y Saltos.

Configurar los Pasos, especificando su comportamiento.

Para crear la transformación se debe:

Ir a File, New , y luego seleccionar Transformation.

En la pestaña View del Navegador, seleccionar la Trans- formación creada y dar click derecho, seleccionando Settings.

Una ventana aparece, donde se pueden especificar las propiedades de la transformación. En éste caso solo escribir un nombre y la descripción. Dar click en Ok.

Guardar la Transformación en la carpeta Tutorial, creada anteriormente, con el nombre hello. Se crea el archivo hello.ktr.

Lo siguiente es construir el esqueleto de la transformación usando Pasos y Saltos. Un Paso (Step) es la mínima unidad dentro de una transformación. Un conjunto variado y amplio de Pasos está disponible, agrupado en categorías como de Entrada o Salida, entre otros. Cada paso está diseñado para cumplir una función , tal como leer un parámetro o normalizar un conjunto de datos.

Un Salto (Hope) es la representación gráfica del flujo de los datos entre dos Pasos, con origen y destino. Los datos que fluyen a través del Salto constituyen los datos de salida del Paso de origen y los datos de entrada del Paso de destino.

Un Salto solo tiene un origen y un destino, pero varios Saltos pueden partir del mismo Paso. Cuando ésto ocurre, los datos de salida son copiados o distribuidos a cada destino.

Igualmente, más de un Salto puede alcanzar un Paso. En éstos casos el Paso debe tener la habilidad de poder mezclar la entrada para poder producir una salida.

La transformación a crear deberá realizar lo siguiente:

Leer un archivo CSV.

Construir los “saludos” para cada persona.

Guardar los saludos en un archivo XML.

En este ejemplo, la correspondencia entre tareas y Pasos es de uno a uno porque la transformación es sencilla , pero no siempre es así.

1Información sobre la creación de archivos CSV - http://www.computerhope.com/issues/ch001356.htm

(3)

Así es como se empieza con una Transformación:

A la izquierda del área de trabajo se encuentra la pestaña Design en el navegador. Seleccionar la categoría Input.

Arrastrar la opción de CSV file input a la derecha, en el área de trabajo.

Seleccionar la categoría de Scripting.

Arrastrar la opción de Modified JavaScript Value al área de trabajo.

Seleccionar la categoría Output.

Arrastrar la opción de XML Output al área de trabajo.

Figure 3. Pasos Creados

Ahora se deben vincular el Paso del CSV file input y el de Modified JavaScript Value a través de un Salto:

Seleccionar el primer Paso.

Mantener oprimida la tecla Shift y arrastrar el ícono del primer Paso sobre el ícono del segundo Paso.

Vincular el Paso 2 y Paso 3 con el mismo procedimiento.

Es hora de Especificar el comportamiento que tendrá cada uno de los pasos. Cada uno de estos, tiene una ventana de configuración. Éstas ventanas varían de acuerdo a la función del Paso y la categoría a la que pertenece.

Entre las características del paso estan el nombre, el cuál representa al Paso dentro de la Transformación y no cambia a lo largo de las configuraciones de los Pasos, e igualmente se tiene una descripción, la cual permite aclarar el propósito del paso.

Configuración del Paso 1 :

Doble click sobre el Paso CSV file input.

Se desplegará la ventana de configuración perteneciente a éste tipo de Paso. Acá se indicará la ubicación, el formato y el contenido del archivo de entrada.

Reemplazar el nombre que lleva por defecto por uno más representativo. Se llamará Lista.

En el campo Fieldname, ingresar el nombre y la ubicación del archivo de entrada.

Nota:Justo a la derecha de las cajas de texto hay un símbolo de dolar rojo. Esto significa que se pueden usar variables así como texto plano en éste campo. Una variable puede ser escrita manualmente como ${name_of_the_variable}, o seleccionada desde la ventana de variables la cual se puede desplegar con Ctrl-Espacio. Esta ventana presenta variables predefinidas y creadas por el usuario, pero como en el momento no ha sido creada ninguna, solo se verán variables predefinidas. Entre éstas seleccionar:

${Internal.Transformation.Filename.Directory}

Seguido del nombre de la variable, escribir el nombre del archivo CSV creado:

${Internal.Transformation.Filename.Directory}/list.csv En tiempo de ejecución la variable será reemplazada por este valor, que será la dirección donde la Transformación está guardada. La Transformación buscará el archivo list.csv en la ubicación especificada.

Dar click en el botón de Get Fields para agregar los nombres de las columnas de la entrada a la cuadrícula presentada. Por defecto el Paso asume que el archivo posee encabezados.

La cuadrícula tiene ahora los nombres de las columnas del archivo: apellido y nombre y debería verse de la siguiente manera.

Figure 4. Configuración del primer Paso

Desmarcar la opción de lazy conversion.

(4)

Oprimir en el botón Preview para asegurarse de que el archivo fue leído como se esperaba. Aparecerá una ventana mostrando los datos del archivo.

Oprimir Ok para finalizar la definición del Paso 1.

Configuración del Paso 2:

Doble Click sobre el Paso Modified JavaScript Value.

La ventana de configuración del Paso aparecerá. Es diferente a la del Paso previo. Presenta un área donde se puede escribir código JavaScript. Se usará para construir el mensaje “Hello, “ concatenado con cada uno de los nombres.

Llamar a este Paso Saludos.

El área principal de la ventana de configuración es para codificar. A la izquierda, hay un árbol con un conjunto de funciones disponibles para usar en el código. En particular, las dos últimas ramas continene los campos de entrada y salida, listos para usar en el código. Escribir el siguiente código: var msg = ’Hello, ’ + name.getString() + "!";

Al final en la cuadrícula, se puede digitar el nombre de cualquier variable creada en el código. En este caso, se ha creado la variable msg. Como se necesita enviar este mensaje al archivo de salida, se tiene que escribir el nombre de la variable en la cuadrícula. El resultado será el siguiente:

Figure 5. Configuración del Paso 2

Click en Ok para finalizar la configuración.

Seleccionar el Paso que se acaba de configurar. Para revisar que el mensaje esté saliendo del Paso, se verán las entradas y salidas que posee. Las entradas son las columnas que llegan al Paso. Las salidas con las columnas que salen del Paso.

Click derecho en el Paso.

Seleccionar Show Input Fields. Se verá que estos son el apellido y nombre que vienen del Paso 1.

Seleccionar Show Output Fields. Se verá que no solo estan los campos existentes, sino además el nuevo campo msg.

Configuración del Paso 3:

Doble click sobre el Paso XML Output. La ventana de configuración aparecerá. Se establecerán el nombre y la ubicación del archivo de salida, y se especificará cuales de los campos se quieren incluir.

Nombre al paso Archivo con Saludos.

En la caja de Filename escribir ${Inter- nal.Transformation.Filename.Directory}/Hello.xml.

Figure 6. Configuración Paso 3-1

Dirigirse a la pestaña Fields de la ventana, y dar click en el botón Get Fields para llenar la cuadrícula con los tres campos de entrada. En la salida solo se quiere el saludo, así que eliminar los campos apellido y nombre.

Guardar la Transformación de nuevo.

Figure 7. Configuración Paso 3-2

5. CORRER LATRANSFORMACIÓN

Cuando se ejecuta una Transformación, casi todos los pasos son ejecutados simultánemaente. La Transformación se ejecuta asincrónicamente. Las filas de datos fluyen a través de los Pasos con libertad. Cada fila procesada, se dirige al siguiente Paso sin esperar por las anteriores.

Este es un ejemplo pequeño con pocas filas de nombres, así que es difícil ver lo asincrónico de la ejecución, pero cabe recordar que sin embargo, es posible que al mismo tiempo

(5)

un nombre sea escrito en el archivo de salida, y otro esté dejando el primer Paso.

6. VERIFICAR, VISUALIZAR YEJECUTAR

Antes de ejecutar la transformación, asegurarse de que todo está correctamente configurado, a través de la opción Verify , ubicada en la barra de herramientas del área de trabajo.

Figure 8. Opción Verify

Seleccionar ahora la opción de Preview this transfor- mation. Como se puede observar, Spoon sugiere qué Paso visualizar. Seleccionar el Paso Saludos y dar click en Quick

Figure 9. Preview this transformation

Launch para revisar que la salida generada sea la correcta y se guarde en el archivo XML.

Figure 10. QuickLaunh

Si todo se encuentra correctamente, correr la transformación con la opción Run ubicada en la misma barra de herramientas.

Se desplegará la siguiente ventana, donde daremos a continuación click en Launch.

Figure 11. Execute a transformation

Si no se generó ningun tipo de error, abrir el archivo Hello.xml generado y revisar su contenido.

7. PAN

Pan permite ejecutar Transformaciones desde una terminal.

El script es pan.bat en Windows, or span.sh en otras plataformas, y está localizado en la carpeta de instalación. Si se corre el script se verán una descripción de pan con una lista de opciones disponibles.

Para ejecutar la Transformación, insertar el siguiente comando:

Pan /file <Jobs_path>/Hello.ktr /norep

/norep es un comando para pedir a Spoon no conectarse a un repositorio.

/file precede el nombre del archivo que contiene la Transformación.

<Jobs_path> es la ubicación completa de la carpeta Tutorial creada.

Las otras opciones son ejecutadas con valores por defecto.

Después de digitar el comando, la Transformación será ejecutada de la misma forma en que se realizó en Spoon.

En este caso, el registro se escribe en la terminal, a menos que se especifique un archivo donde escribirlo. Contendrá basicamente la misma información que se presentó en el entorno gráfico.

8. BIBLIOGRAFÍA

*Pentaho Kettle Project. Disponible en:

http://kettle.pentaho.com/.

*Pentaho Infocenter. Disponible en: infocenter.pentaho.com/.

*Forum: Pentaho Data Integration [Kettle]. Disponible en:

(6)

http://forums.pentaho.com/forumdisplay.php?135-Pentaho- Data-Integration-Kettle

*BATCHELOR,Marc. Latest Pentaho Data Inte- gration (ka Kettle) Documentation. Disponible en:

http://wiki.pentaho.com/display/EAI/Latest+Pentaho+Data+Integration+%28aka+Kettle%29+Documentation

Referencias

Documento similar

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

Pliegue asimétrico mostrando una pizarrosidad de plano axial (martillo) en las pizarras del volcanismo ácido inicial del anticlinorio de Coto Vicario.. El martillo muestra la

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

(29) Cfr. MUÑOZ MACHADO: Derecho público de las Comunidades Autóno- mas, cit., vol. Es necesario advertir que en la doctrina clásica este tipo de competencias suele reconducirse

95 Los derechos de la personalidad siempre han estado en la mesa de debate, por la naturaleza de éstos. A este respecto se dice que “el hecho de ser catalogados como bienes de

A partir de los resultados de este análisis en los que la entrevistadora es la protagonista frente a los entrevistados, la información política veraz, que se supone que

Tal reflexión implica partir del contexto de una más amplia reflexión sobre Europa y su papel (histórico) en la mundialización, así como prestar atención a las lecturas

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés