Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
PENTAHO DATA INTEGRATION (KETTLE) PARTE 1 INTRODUCCIÓN ............................................................................................................................................................... 3 PENTAHO DATA INTEGRATION (KETTLE) ......................................................... ........................................................... ................................. .......................... 4
Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
Spoon .......................................................................................................................................................................... 4 Kitchen ........................................................................................................................................................................ 4 Pan ............................................................................................................................................................................... 4 INSTALACION DE PENTAHO DATA INTEGRATION (KETTLE) ..................................................................................... 4 Requisitos para la instalación de PDI Kettle .............................................................................................................4 Descarga de PDI Kettle ............................................................................................................................................... 4 Instalación de PDI Kettle ............................................................................................................................................ 5 Ejecución de PDI Kettle .............................................................................................................................................. 5 Transformations, Jobs, Steps y Hops ....................................................................................................................... 6 CREAR EL PRIMER EJEMPLO ETL ................................................................................................................................ 8 Objetivo ....................................................................................................................................................................... 8 Preparar el ambiente de trabajo................................................................................................................................. 8 Crear la Transformation ............................................................................................................................................. 8 Identificando Steps ..................................................................................................................................................... 9 Diseñar la Transformation..........................................................................................................................................9 Configurar la funcionalidad de los steps ................................................................................................................ 10 Configurar Text File Input ................................................................................................................................... 10 Configurar Modified Java Script Valué .............................................................................................................. 12 Configurar XML Output ....................................................................................................................................... 14 Guardar la transformation ........................................................................................................................................15 Ejecutar la transformation ........................................................................................................................................15 Ejecutar la transformation desde ventana de línea de comandos ........................................................................ 16 INTRODUCCIÓN
Página 2 de 16
Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
ETL. Son las siglas en inglés de Extraer, Transformar y Cargar (Extract, Transform and Load). permite mover datos desde múltiples fuentes, reformatearlos y limpiarlos, y cargarlos en
Es elproceso
que
otra base dedatos,
data mart, o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio. Extraer. La primera parte del proceso ETL consiste en extraer los datos desde los sistemas de origen. La mayoría de los proyectos de almacenamiento de datos fusionan datos provenientes de diferentes sistemas de origen. Por ejemplo la información del sistema de RRHH puede estar disponible en una base de datos SQL Server, mientras que la información de Ventas esté disponible en hojas de cálculo. Transformar. La fase de transformación aplica una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados. Algunas fuentes de datos requerirán alguna pequeña manipulación de los datos. No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaci ones: •
Seleccionar sólo ciertas columnas para su carga (por ejemplo, que las columnas con valores nulos no se carguen).
•
Traducir códigos (por ejemplo, si la fuente almacena una "H" para Hombre y "M" para Mujer pero el destino tiene que guardar "1" para Hombre y "2" para Mujer).
•
Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio).
•
Unir datos de múltiples fuentes (por ejemplo, búsquedas, combinaciones, etc.).
•
Generación de campos clave en el destino.
Carga. La fase de carga es el momento en el cual los datos de la fase anterior (transformación) son cargados en el sistema de destino. Este proceso puede abarcar una amplia variedad de acciones diferentes. En algunas bases de datos se sobrescribe la información antigua con nuevos datos, en otras se agrega a la información ya existente. Todo depende del modelo y requerimientos del negocio. La fase de carga interactúa directamente con la base de datos de destino. Al realizar esta operación se aplicarán todas las restricciones y triggers que se hayan definido en ésta (por ejemplo, valores únicos, integridad referencial, campos obligatorios) y si están bien definidos contribuyen a que se garantice la calidad de los datos en el proceso ETL.
Página 3 de 16
Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
PENTAHO DATA INTEGRATION (KETTLE)
Kettle es un proyecto Open Source de origen belga, que incluye un conjunto de herramientas para realizar ETL. Ahora forma parte de la suite de Inteligencia de Negocios Pentaho. PDI Kettle consiste principalmente de las siguientes aplicaciones: Spoon
Es el componente más utilizado. Es una herramienta gráfica que permite diseñar Jobs y Transformations ETL. Con esta herramienta se podrá conectar a diversos orígenes de datos y transformarlos para cargarlos dentro de su estructura del datawarehouse. Kitchen
Es un programa que permite ejecutar "jobs" diseñados en Spoon, permitiendo programarlos y ejecutarlos en modo batch.
Permite ejecutar "transformations" diseñados en Spoon, permitiendo ejecutarlos desde línea de comandos y ejecutarlos en modo batch. INSTALACION DE PENTAHO DATA INTEGRATION (KETTLE) Requisitos para la instalación de PDI Kettle.
Kettle requiere de Java Runtime Edition (JRE) versión 1.5 (denominado a veces Java 5) ó superior. Se puede obtener de la siguiente dirección: http://iava.com/en/download/index.isp Descarga de PDI Kettle.
Se puede obtener la última versión estable de PDI Kettle y también las versiones anteriores de la siguiente dirección: http://sourceforge.net/proiects/pentaho/files/Data%20lntegration/ En el presente tutorial se utiliza la versión 4.2.1. Descargar el archivo pdi-ce-4.2.1-stable.zip (para Windows) o el archivo pdi-ce-4.2.1-stable.tar.gz (para Linux). Home / Data Integration / 4.2.1-stable
Ñame *
^ Parent folder
Modified
*
Jíi
Size *
pd i -c e 4. 2.1 -sta ble.zip
2011-10-25
247.3 MB
pdi-ce4.2.1-stable.tar gz O^
2011-10-25
239.5 MB
pdi-ce-javadoc4.2.1-stable.zip
2011-10-25 2011-10-25
e A
pd i-ce-s re-4.2.1 -stable-r15952.zip
12.0 MB 175.8 MB 674.5 MB
Totals: 4 Items
Página 4 de 16
a _
_
Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
Instalación de PDI Kettle. Para la instalación simplemente se debe descomprimir el archivo descargado en un directorio que usted elija. Por defecto se obtiene el directorio data-integration. s (t) ► Software ► Pentaho ► PDI 4.2.1 >| data-integration ► Compartir con ▼ Grabar Nueva carpeta
Nombre
>
Fecha de modifica
Tipo
J4 samples
25/10/2011 03:40..
Carpeta de archivos
Jf simple-jndi
25/10/2011 04:46..
Carpeta de archivos
XJ uii
25/10/2011 04:46..
Carpeta de archivos
151 Carte
25/10/2011 03:39..
Archivo por lotes...
_j carte.sh
25/10/2011 03:39..
Archivo SH
Q DEMO.DBF
22/07/2012 01:42..
Archivo DBF
25/10/2011 03:39..
Archivo por lotes...
25/10/2011 03:39..
Archivo SH
25/10/201103:39..
Archivo SH
SI Ericr encr.sh _ i generateClusterSchema.sh S] Import
25/10/2011 03:39..
Archivo por lotes...
_ import.sh
25/10/2011 03:39..
Archivo SH
ISj import-rules
25/10/201103:39..
Documento XML
25/10/2011 03:39..
Archivo por lotes...
25/10/2011 03:39..
Archivo SH
IOS Pan
25/10/201103:39..
Archivo por lotes...
__ pan.sh
25/10/2011 03:39..
Archivo SH
25/10/2011 03:39..
Documento de tex...
25/10/201103:39..
Documento de tex...
i README.OSX
25/10/2011 03:39..
Documento de tex...
Q README_UNIX_AS400
25/10/2011 03:39..
Documento de tex...
run_kettle_cluster_example
25/10/201103:39..
Archivo por lotes...
runSamples.sh
25/10/2011 03:39..
Archivo SH
25/10/2011 03:39..
Archivo por lotes...
25/10/201103:39..
Archivo SH
25/10/2011 03:39..
Archivo por lotes...
25/10/2011 03:39.. 25/10/201103:39..
Icono
25/10/2011 03:39..
Archivo SH
[£¿>1 Kitchen kitchen.sh
c READMEJNFOBRIGHT READMEJJNUX
SI set-pentah o-env set-pentah o-env.sh 1^1 Spoon spoon Jk spoon spoon.sh
Imagen PNG
Ejecución de PDI Kettle. Como se mencionó y como se puede observar en el directorio data-integration existen varias herramientas, para iniciar simplemente se debe ejecutar el archivo Spoon.bat. Si se estuviera trabajando en plataforma Linux, se debe ejecutar el archivo spoon.sh, pero previ amente se debe asignar permiso de ejecución a dicho archivo. Para eso, ejecutar el siguiente comando ubicándose en el directorio dataintegration: chmod+x *.sh La ventana de inicio permite conectarse a un repositorio predefinido o crear uno, En esta oportunidad no se trabajará con repositorio y se quitará el check en "Show this dialog at startup" para no volver a mostrar esta ventana, luego de lo cual se muestra la ventana principal de PDI Kettle.
Página 5 de 16
Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
O
Repository Connection
User Ñame: admin Password:
[V. Show this dialog at startup
File Edit View Action Tools Help
i
■iaa
Perspective:
fQ View ^ D esigri Explorer
10
file:///E:/Software/Pentaho/P[}I%204,2,l/data-integration/docs/English/welcome/kettle_document_map,html
£ Transformations © Jobs
1 ett ng starte w t c -J0 s
enta o ata ntegrat on S ampies
What's New
etting tarted
Transformations, Jobs, Steps y Hops. Antes de continuar es i mportante entender el rol de las transformations, jobs, steps, hops y otras estructuras que serán utilizadas en los proyectos ETL Una transformation es una herramienta PDI que permite realizar una variedad de tareas con data moviéndolos de un lugar a otro. Su rol principal es extraer data de fuentes de datos, transformar la data de una representación a otra y cargar data en fuentes de salida (output sources). Como se puede ver, realiza los pasos de extracción (E), transformación (T) y carga (L). Una transformation consiste de un número separado de acciones llamados steps cada uno diseñado para una función específica, La representación gráfica del flujo de datos entres los steps son llamados hops. Los hops son usados para transportar data de un step a otro. Un job es un componente que crea una secuencia de actividades que brinda un orden de ejecución, por lo tanto los jobs son usados para un control de flujo y por lo general consiste de una serie de transformations. PDI Kettle usa hops para construir una secuencia de steps, también son usados para enlazar steps de transformations y jobs, en ambos casos enlazan stops, sin embargo en las transformations son usados para
Página 6 de 16
Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
transportar data de un step a otro, mientras que en los jobs son usados para brindar control en el flujo de ejecución. En la imagen a continuación se muestra una Transformation donde se pueden identificar los steps y hops que lo componen.
La imagen siguiente muestra un Job, como se indicó, en este caso los hops sirven para llevar el control del flujo de ejecución, llamando a una Transformation, a otro Job (que a su vez puede contener una o más transformations) y por último a un script SQL.
Este es un-Job. EjecLts Lra trarsformatiür y lluego ejecLta otro Job, por último ejecLtc un script SQL. V
Página 7 de 16
►t START Pentaho Data Integration (Kettle)
w Obtener Archivos
Página 8 de 16
Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
Setear Variables y C a rg a r Update
Desarrollado por Jorge Rivera Ramos
[email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
CREAR EL PRIMER EJEMPLO ETL Es momento de crear el primer ejemplo ETL, para eso se describirá paso a paso la creación de una transformation que leerá un archivo de texto y generará un archivo XML realizando previamente un pequeño c ambio en la información. Objetivo El
origen
es
el
archivo
PROV.txt
(lo
pueden
descargar
del
siguiente
link
http://correo.rvrhermanos.com/home/iriveraPrvrhermanos.com/Publico/PROV.txt), con las columnas separadas por el c a r á c t e r q u e contiene la lista de todas las provincias junto a los códigos de departamento y provincia. El resultado que se obtendrá es un archivo XML donde además de mostrar los campos originales, tendrá un campo adicional con el mensaje: ‘El código de la provincia Amazonas es OlOff. Cambiando el mensaje según corresponda por cada provincia. B PROV.txt - Bloc de notas
Archivo Edkión Formato Ver Ayuda
coddpto;codprov; nombre
-
00;AMAZONAS 01¡CHACHAPOYAS 02;BAGUA 03;BONGARA 04;CONDORCANQUI 05; LUYA 06;RODRIGUEZ DE MENDOZA 07;UTCUBAMBA 00;ANCASH 01;HUARAZ
01 ccodprov >00 AM AZO ÑAS EI código de la provincia AMAZONAS es 0100 * 01 01 CH ACH APOYAS El código de la provincia CHACHAPOYAS es 0101
02;AI3A
03; ANTONIO RAYMONDI 04;ASUNCION OS: ROI OGNFST
Preparar el ambiente de trabajo Antes de empezar, y solo por un tema de orden, crear la siguiente estructura de carpetas que se muestra en la imagen siguiente. En la carpeta ETL se guardarán las Transformations y Jobs que se creen, en la carpeta Input estará el archivo de origen y en la carpeta Output se creará el archivo de salida. En la carpeta Input debe estar ubicado el archivo PROV.txt
a& (£) ETL _ I Input (£) Output Tutorial PDI
Crear la Transformation Si es que no ha iniciado la herramienta Spoon, ejecute Spoon.bat para iniciarla. Para crear una transformation puede seguir cualquiera de las siguientes opciones: ■
Menú File -> New -> Transformation (CTRL + N)
■
En la barra de botones dar click en el ic ono New File y seleccionar Transformation.
■
En el panel izquierdo, seleccionar la opción View. Luego click derecho en Transformations y elegir New.
Página 9 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
Identificando Steps A modo de aclaración, un step es la unidad mínima dentro de una transformation, una variedad de steps está disponible dentro de categorías tales como Input, Output, Flow, Scripting y otros, todos ubicados en el Steps Pallete. Continuando con el ejemplo, identificamos que la transformation tiene que realizar lo siguiente: •
Leer el archivo de texto.
•
Construir la concatenación de campos
•
Grabar los datos en un archivo XML
Para cada uno de los ítems a seguir, se utilizarán diferentes Steps que en este caso están en diferentes categorías. A continuación se deben identificar los que deben ser utilizados: 1.
Leer el archivo de texto. Utilizar el step Text file input, ubicado en la categoría Input.
2.
Construir la concatenación de campos. Utilizar el step Modified Java Script Valué, ubicado en la categoría Scripting.
3.
Grabar los datos en un archivo XML. Utilizar el step XML Ouput, ubicado en la categoría Output. XML Output
Diseñar la Transformation Una vez identificados los steps, empezamos el diseño de la Transformation, seguir los si guientes pasos: Desde Steps Pallette, seleccionar la categoría Input. Arrastrar el icono Text file input al área de trabajo. Seleccionar la categoría Scripting. Arrastrar el icono Modified Java Script Valué al área de trabajo. Seleccionar la categoría Output. Arrastrar el icono XML Ouput al área de trabajo. El área de trabajo debe quedar de manera muy similar a la imagen siguiente:
SSL
m
Text file input Modified Java Script Valué XML Output Ahora se debe enlazar Text file input con Modified Java Script Valué, para esto se debe crear un Hop siguiendo cualquiera de las siguientes opciones: ■
Seleccionar el primer icono, mantener presionada la tecla SHIFT y arrastrar el cursor hasta el segundo icono.
■
Ubicarse sobre el primer icono, manteniendo presionado el tercer botón del Mouse (la ruedita o track ball) arrastrar hasta el segundo icono.
■
Seleccionar los dos iconos, click derecho sobre cualquiera de ellos y elegir New hop.
Página 10 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
Utilizando cualquiera de los modos anteriores, enlazar Modified Java Script Valué con XML Output.
K
i ¿2_
Text file input
Modified Java Script Valué XML Output
Configurar la funcionalidad de los steps Cada step presenta una ventana de configuración. Estas ventanas varían de acuerdo a la funcionalidad del step y la categoría a la que pertenecen. Vamos a configurar cada uno de los steps que se están utilizando: Configurar Text File Input •
Doble click sobre el icono Text file i nput para mostrar la ventana de configuración. Aquí se indicarán la ubicación, el formato y el contenido del archivo de texto.
•
Reemplazar el nombre por defecto a Lista de Provincias.
•
En el campo File or directory, ingresar la ruta completa de la ubicación
•
Click en el botón Add, para agregar el archivo al grid Selected files.
•
Click en el botón Show file content, se puede ver el contenido del separados por el carácter;)
Página 11 de 16
delarchivo PROV.txt. archivo
PROV.txt
(los campos están
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle) □ Text file input
Step ame |j sta de Provincias File Content Error Handling Filters Fields ^ [ Add | [ Browse..
File or directory Content oí first file
Wildcard (RegExp) Required al\T utorial_PDI\Input\PROV. txt 01 01 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 03 03 03 03 03
00 01 02 03 04 05 06 07 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 00 01 02 03 04
AMAZONAS CHACHAPOYAS BAGUA BONGARA CONDORCANQUI LUYA RODRIGUEZ DE MENDOZA UTCUBAMBA ANCASH HUARAZ AIJA ANTONIO RAYMONDI ASUNCION BOIOGNESI CARHUAZ CARLOS FERMIN FITZCARRALD CASMA CORONGO HUARI HUARMEY HUAYIAS MARISCAL LUZURIAGA OCROS PALLASCA POMABAMBA RECUAY SANTA SIHUAS YUNGAY APURIMAC ABANCAY ANDAHUAYLAS ANTABAMBA AYMARAES
¡ps step □
<
H
step
Showfilenafne
•
Ir a la solapa Content, aquí se especifica el tipo de archivo de texto (separado por comas, longitud fija), el carácter que indica la separación de columnas, se indica si el archivo presenta encabezado, etc. Para este ejemplo, no se hará ningún cambio.
•
Ir a la solapa Fields, dar click en el botón Get Fields, para agregar la lista de las columnas del archivo de texto al grid. Por defecto, los nombres se obtienen de los headers (encabezados)
•
Revisar los campos Ñame, Type, Length, Trim Type y eliminar los valores que aparezcan en los demás campos.
Página 12 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
El Text file input Step ame |_¡ sta de Provincias File Content Error Handling Filters Fields i Ñame Type Format 1 coddpto 5tring 2 codprov 5tring 3 nombre 5tring
Position
1%.
Length 2 2 25
Precisión
Currency
Decimal
Group
Nuil if
Default
Trim type none none right
,,,
I
ifcl I Get Fields 1
OK •
|
[
Cancel
~]
[
Preview
rows ~|
Realizar una previsualización de los registros que se obtendrán, haciendo click en el botón Preview rows. O Examine preview data
Rows of step: Lista de Provincias (220 rows) # coddpto codprov nombre
•
1
01
00
AMAZONAS
2
01
01
CHACHAPOYAS
3
01
02
BAGUA
4
01
03
BONGARA
5
01
04
CONDORCANQUI
6
01
05
LUYA
7
01
06
RODRIGUEZ DE MENDOZA
8
01
07
UTCUBAMBA
9
02
00
ANCASH
10
02
01
HUARAZ
11
02
02
ADA
12
02
03
ANTONIO RAYMONDI
13
02
04
ASUNCION
14
02
05
BOLOGNESI
15
02
06
CARHUAZ
16
02
07
17
02
OS
CARLOS FERMIN FTTZCARRALD CASMA
18
02
09
CORONGO
19
02
10
HUARI
20
02
11
HUARMEY
21
02
12
HUAYLAS
22
02
13
MARISCAL LUZURIAGA
Cerrar la ventana de preview y click en el botón OK para salir de l a ventana de configuración del step Text file input.
Configurar Modified Java Script Valué •
Doble click sobre el icono Modified Java Script Valué.
•
Reemplazar el nombre por defecto a Concatenar campos.
•
El área principal de la ventana de configuración es para ingresar código JavaScript. Al lado izquierdo aparecen las funciones disponibles que se pueden utilizar.
•
Ingresar el siguiente código var mensaje;
Página 13 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
mensaje = 'El codigo de la provincia ' + nombre + ' es ' + coddpto + codprov; •
La variable creada pasará a ser un nuevo campo que debe pasar al archivo de salida. Para permitir esto dar click en el botón Get variables. La variable mensaje será agregada al grid Fields. Step ame Concatenar campos Java script functions ffl-Q Transform Scripts ffl É Transform Constants ffi f Üj Transform Functions É Input fields
1
Java script: Script 1 //Script here var mensaje; mensaje 1 'El código de la provincia '+ nombre + ' es ' + coddpto + codprov;
'
■ ■ I
Click derecho en el icono Modified Java Script Valué y elegir la opción Show output fields, se observa que los campos de salida son los mismos que ingresaron además del nuevo c ampo mensaje. Página 14 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
... ► coddpto ...► codprov ► nombre 0 Output fields •••
►
setValue(var)
coddpto. •••
►
codprov. setValue(var) ►nombre. setValue(var)
Position: 5, O ^ Compatibility mode? | |
< Fields
Lenqth_ MPrecision__ MReplacevalue'Fieldname'or'Renameto' mensaje
String
N
OK ] [ Cancel ||[ Get variables | [ Test script
Fieldname
RenametolTyD e
Página 15 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
Show Input Files
m Step ñame: Concatenar campos Fields: Fieldname Type Length *■
1
#
Precisi n
Step origin
Storage
Mask
Decimal
Group
Trim,
coddpto
String
2
-
Lista de Provincias
normal
,
none
2
codprov
String
2
-
Lista de Provincias
normal
,
none
3
nombre
String
25
-
Lista de Provincias
normal
none
Show Output Files
1
— f-
Step fields and their origin Step ñame: Concatenar campos Fields: #
Fieldname
Type
Length
Precisi n
Step origin
Storage
Mask
Decimal
Group Trim
1
coddpto
String
2
-
Lista de Provincias
normal
2
codprov
String
2
-
Lista de Provincias
normal
none
3
nombre
String
25
-
Lista de Provincias
normal
none
4
mensaje
String
-
-
Concatenar campos
normal
none
p
none
,
Configurar XML Output •
Doble click sobre el icono XML Output. Cambiar el nombre por defecto a Provincias XML.
•
En el campo Filename ingresar el nombre la ruta donde se creará el archivo Provincias.xml. XML
output
lelMJHÉ&Hr
Step ñame Provincias XML File Content Fields______________________________________________________________ __________________________________________________________________ _______ Filename C:\Tutorial_PDI\Output\Provincias ^ (Browse... ] Do not create file at start Q Pass output to servlet [~~l Extensión
|
xm
Include stepnr in filename? O Include date in filename? O Include time in filename? [ ] Specify Date time format Q Date time format | Show filename(s)... Add filenames to result Q QK | | ¿ancel |
Página 16 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
XML output Stepname Provincias XML File Content Fields Fieldname
Element ñame
Format
Type String
codprov
String
2 2
nombre
String
25
mensaje
String
U[» Cancel
•
Length Precisión Curren
coddpto
Minimal width
OK
Click en el botón OK para cerrar la ventana de
configuración.
Guardar la transformation Habiendo diseñado y configurado cada uno de los steps y hops, solo queda grabar la transformation, guardarlo en la carpeta C:\Tutorial_PDI\ETL y poner como nombre trf_provincias. El archivo generado tendrá la extensión .ktr, si se revisa el contenido del archivo en WordPad, Notepad++ (o el editor de texto que prefiera) se podrá ver el formato XML del archivo. Ejecutar la transformation Una vez guardada la transformation, dar click en el botón Run de la barra de botones o simplemente presionar F9. Aparece la ventana para opciones de ejecución, dejar las opciones por defecto y dar click en el botón Launch.
M Lista de Provincias
Concatenar campos
Provincias XML
Execution Results
(j¡l Execution History fff Logging 0 Step MetricsX^B Performance Graph] #
Stepname
1 2 3
Lista de Provincias Concatenar campos Provincias XML
Copynr
Read
Written
Input
Output
Updated
Rejected
0 0 0
0 220 220
220 220 220
221 0 0
0 0 220
1 0 0
0 0 0
Errors Active 0 0 0
Finished Finished Finished
Time
Speed (r/s)
O.Os Oís 0.2s
6.697 1.606 1.447
En el momento de ejecución aparece en la parte inferior la ventana Execution Results, esta ventana muestra logs y métricas de la ejecución actual. En la solapa Step Metrics, se presenta información por cada step de la transformation, según los conceptos que se indican a continuación: R: Read. Número de registros leídos en el flujo de entrada. W: Write. Número de registros escritos en el flujo de salida. I: Input. Número de registros leídos de un archivo o una base de datos. O: Ouput. Número de registros escritos en un archivo o en una base de datos. U: Update. Número de registros actualizados en una base de datos.
Página 17 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
■
E: Error. Número de registros errados.
En la solapa Logging, se muestra un log más detallado, indicando la fecha y hora en que se ejecutó cada step. Presenta también por cada step la cantidad de registros que ingresan, que salen, que se insertan, etc. El nivel de detalle que se muestre dependerá del tipo que se elija al momento de la ejecución; Minimal, Basic, Detailed.
Execution Results Execution History Logging f t Step Metrics B Performance Graph ______________________________________________________
e t Sí 2012/07/23 00:25:06 - Spoon - Launching transformation [trf_provincias].„ 2012/07/23 00:25:06 - Spoon - Started the transformation execution. 2012/07/23 00:25:06 - trf_provincias - Dispatching started for transformation [trf_provincias] 2012/07/23 00:25:06 - Transformation metadata - Natural sort of steps executed in 0 ms (3 time previous steps calculated) 2012/07/23 00:25:06 - Provincias XML.O - Opening output stream in encoding: UTF-8 2012/07/23 00:25:06 - Lista de Provincias.O - Qpenino file: C:\Tutorial PDI\Input\PROV.txt _______________________________________ 2012/07/23 00:25:06 - Lista de Provincias.O - Finished processing (1=221, 0=0, R=0, W=220, U=l, E=0) 2012/07/23 00:25:06 - Concatenar campos.O - Optimization level set to 9. 2012/07/23 00:25:06 - Concatenar campos.O - Finished processing 0=0, 0=0, R=220, W=220, U=0, E=0) 2012/07/23 00:25:06 - Provincias XML.O - Finished processing (1=0, 0=220, R=220, W=220, U=0, E=0) 2012/07/23 00:25:06 - Spoon - The transformation has finished!!
Ejecutar la transformation desde ventana de línea de comandos Para ejecutar una transformation desde línea de comandos se utilizará la aplicación Pan. Entonces, desde una ventana de línea de comandos ubicarse en la carpeta donde está instalado PDI Kettle e ingresar el siguiente comando: C:\Windows\system32\cmd.exe E:\Software\Pentalio\PDI 4.2.l\data-integration>Pan.bat /file "C:\Tutorial_PDI\ET LStrf_prouincias.ktr" /leuel:Minimal_
En este caso se tiene "instalada" la aplicación en l a siguiente ruta: E:\Software\Pentaho\PDI 4.2.1" Luego de la ejecución se debe mostrar la siguiente imagen: raí C:\WindowsYsystem32\cmd.exe[
| B CJ E:\SoftwareSPentalio\PDI 4.2.l\data-integration>Pan.bat /file "G:\Tutorial_PDISEI LStrf_prouincias.ktr" /leuel:Minimal DEBUG: Using JAUA_HOME DEBUG: _PENTAHO_JAUA_HOME=C:\Progran Files\Jaua\jdkl.6.0_13 DEBUG: _PENTAHO_JAUA=C:\Program Files\Java\jdkl.6.0_13\bin\java.exe INFO23-07 00:31:48,887 Pan - Logging is at level :Mininal logging INFO 23-07 00:31:48,890 - Pan - Start of run. INFO 23-07 00:31:50,007 - Pan - Finished* INFO 23-07 00:31:50,011 - Pan - Start=2012/07/2300:31:48.890, Stop=2012/07/23 00:31:50.009 INFO 23-07 00:31:50,012 - Pan - Processing ended after 1 seconds. E:\SoftwareSPentalio\PDI 4.2 .lSdata-integration>_ •
Click en el botón OK para cerrar la ventana de configuración.
Página 18 de 16
Desarrollado por Jorge Rivera Ramos [email protected] http://mixelaneo.blogspot.com
Pentaho Data Integration (Kettle)
•
En este step se está agregando un campo, adicional a los tres que venían del step anterior. Aprovechando este punto vamos a revisar las opciones Input Fields y Output Fields. Los Input Fields son las columnas de data que recibe un step y los Output Fields son las columnas de data que salen de un step.
•
Click derecho en el icono Modified Java Script Valué y elegir la opción Show input fields, se observa que los campos de entrada son coddpto, codprov y nombre los cuales provienen del step File text input.
•
Ir a la solapa Fields y dar click en el botón Get Fields, esto agregará al grid los campos que serán grabados en el archivo xml. Se puede elegir qué campos se incluirán en la salida, para este ejemplo se dejan todos los campos.
Página 19 de 16
|