Curso de Pentaho DI: Entorno de desarrollo Kettle

Kettle: Formatos de almacenamiento de los objetos.

Existen dos formas de almacenamiento de los objetos desarrollados con Spoon. Dichos objetos hacen referencia al desarrollo de transformaciones y trabajos, así como las conexiones a los diferentes orígenes o destinos. Estas alternativas de almacenamiento, son:

  • Repositorio: Se almacena la información en una base de datos, con una estructura especial, donde son guardadas las transformaciones, trabajos construidos, así como las conexiones. Puede ser útil para el trabajo en equipo y para disponer de un lugar centralizado donde se va registrando todo lo realizado.

  • Ficheros: Las transformaciones, trabajos y conexiones son guardadas a nivel del sistema de ficheros, en archivos XML (con extensión .ktr para las transformaciones y .kjb para los jobs). Cada transformación y trabajo tiene un fichero asociado, que incluye en formato XML el metadato que define su comportamiento.

Ventana de conexión a Repositorio

Conexión al repositorio



En cualquier momento, se puede convertir de un tipo de almacenamiento a otro modo. La única regla a tener en cuenta, es que no se puede trabajar simultáneamente con los dos métodos, por lo que siempre habrá que elegir uno en concreto.

 

Kettle: Concepto de transformación.

El objeto más básico de desarrollo dentro del diseño de proceos ETL en Kettle, es la Transformación. Esta está compuesta de pasos o steps, enlazados entre si a través de los saltos o hops. Los pasos son el elemento mas pequeño dentro de las transformaciones. Los saltos constituyen el elemento a través del cual fluye la información entre los diferentes pasos (siempre es la salida de un paso y la entrada de otro).

Ejemplo de Transformación

Ejemplo de ETL Kettle

Tenemos un amplio repertorio disponible de pasos que nos permiten abordar casi cualquier necesidad en el diseño de nuestros procesos de integración de datos. Los pasos están agrupados por categorías y cada uno de ellos esta diseñado para cumplir una función determinada. Cada paso tiene una ventana de configuración especifica, donde se determina los elementos a tratar y su forma de comportamiento.

Una transformación no es ningún programa ni un ejecutable, simplemente es un conjunto de metadatos en XML que le indican al motor de PDI las acciones a realizar.

 

Kettle: Concepto de trabajo o job.

Es un concepto análogo al de un proceso. Básicamente consiste en un conjunto sencillo o complejo de tareas con el objetivo de realizar una acción determinada. En los trabajos se pueden utilizar pasos específicos (que son diferentes a los disponibles en las transformaciones) como para recibir un fichero via FTP, mandar un email, ejecutar un comando, etc. Además, se pueden ejecutar una o varias transformaciones de las que hayamos diseñado y orquestar una secuencia de ejecución de ellas. Los trabajos estarían en un nivel superior a las transformaciones.

Ejemplo de Job

Ejemplo de Job ETL Kettle

Los saltos o hops entre los componentes de un job indican el orden de ejecución de cada uno de ellos (no empezando la ejecución del elemento siguiente hasta que el anterior no ha concluido). El paso de un componente del job a otro también puede ser condicional, según si el resultado de ejecución ha sido correcto o no (tal y como vemos en el ejemplo de la imagen).

Al igual que las transformaciones, un job no es ningún programa, es también un conjunto de metadatos en XML, que le describen al motor de PDI la forma de realizar las diferentes acciones.

 

Kettle: Interfaz de usuario.

La interfaz de usuario es muy sencilla, disponiendo de dos perspectivas. Una de visualización (view), donde vemos los componentes que forma el job o la transformación, y otra de diseño (Design), donde vemos los pasos disponibles. Según estemos trabajando con transformaciones o con trabajos, los steps disponibles irán cambiando. A continuación se muestra la ventana de esta interfaz de desarrollo.

Framework Pentaho Kettle

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *