Kettle PDI escrita con Kettle • Desarrollado por Roland Bouman. • Es en si un ETL desarrollado con la version 4.x de Kettle y otras librerias que se mencionan mas adelante • Inspirado por el documentation generator de Benjamin Kallman's Kettle (Mainz, 2008) • Open Source (LGPL) • Disponible en google code
15/03/2011 Realizado por Deiry Arias
Kettle-CookBook ¿Qué hace? • A través de los objetos de Kettle lee las transformaciones/Job y los convierte en un documento HTML mas facil de entender
15/03/2011 Realizado por Deiry Arias
Kettle-CookBook ¿Cómo funciona? Durante del proceso de desarrollo de los ETL’s se debe ingresar en la configuración de los Jobs y Transformaciones su respectiva descripción:
15/03/2011 Realizado por Deiry Arias
Kettle-CookBook ¿Cómo funciona? El Kettle-CookBook funciona ejecutando un job estandar de PDI 4.x con kitchen. Para esto solo es necesario descomprimir los archivos del CookBook en un directorio como ‘../kettle-cookbook’ Luego se ejecuta el job pdi/document-all.kjb con su distribución del PDI. Este Job espera 2 parámetros: • INPUT_DIR : Ubicación fuente de transformaciones (.ktr) y jobs (.kjb) • OUTPUT_DIR : Directorio donde se desea guardar la documentacion generada.
15/03/2011 Realizado por Deiry Arias
Kettle-CookBook ¿Cómo funciona?
También se recomienda agregar notas en los diagramas
15/03/2011 Realizado por Deiry Arias
Kettle-CookBook ¿Cómo funciona? Si se ejecuta el job con spoon, se deben proporcionar los parametros en el cuadro dialogo que aparece. Si por el contrario se corre desde la linea de comandos se posiciona en el directorio donde esta instalado el kettle y se usa una línea de comandos como ésta: sh kitchen.sh -file:/parking/kettle-cookbook/pdi/document-all.kjb -param:"INPUT_DIR"=/project/dwh/kettle/ -param:"OUTPUT_DIR"=/tmp/output
15/03/2011 Realizado por Deiry Arias
Kettle-CookBook ¿Como lo hace? • Si se exploran los archivos .ktr y .kjb se observa que los mismos son archivos XML • Kettle-cookbook usa una implentacion de la librería Saxon de Java (librería que permite crear plantillas XSL a partir de documentos XML) incluida en kettle para el objeto XSLT transformations. Esta técnica que permite leer el archivo xml del job/transformación generando un documento html por cada archivo .ktr y .kjb 15/03/2011 Realizado por Deiry Arias Kettle-CookBook Salidas
• Tabla de contenido para navegar los
documentos • Descripcion de los campos • Diagrama de Flujo de los datos • Referencias cruzadas entre los jobs, transformaciones y diagramas • Vista de Variables, Conexiones, Campos, etc • Sintaxis highlighting (para SQL, Javascript) 15/03/2011 Realizado por Deiry Arias Kettle-CookBook Salidas
15/03/2011 Realizado por Deiry Arias
Kettle-CookBook Principales Desventajas
• La ejecución con Kettle 3.2 sólo busca los objetos
en el propio INPUT_DIR no sus subdirectorios. Se recomienda ejecutar Kettle-cookbook usando Kettle 4 (o superior), el contenido del INPUT_DIR se examina de forma recursiva. • No esta escrito para documentar ETL’s que se encuentran en un repositorio • No muestra detalles de la configuración de ciertos objetos (objetos lookup, inputs, outputs). 15/03/2011 Realizado por Deiry Arias Kettle-CookBook Herramientas usadas para su desarrollo
• Kettle PDI 4.x para extracción y análisis
• Los fondos e imagenes usadas son copiadas de Kettle (pentaho data integration) • Librería se Saxon para la implementación del objeto XSL Transformation. • La librería wz_jsgraphics.js para configurar los diseños de hojas de estilo. • El código highlighting es realizado utilizando http://alexgorbatchev.com/SyntaxHighlighter/