Primer contacto con el entorno de trabajo PENTAHO (Parte II)

Desarrollo y configuración de Jobs con Pentaho DI

Un trabajo o job es similar al concepto de proceso. Un proceso es un conjunto sencillo o complejo de tareas con el objeto 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 diseñadas y orquestar una secuencia de ejecución de ellas. Los trabajos estarían en un nivel superior a las transformaciones.

Pasos Jobs Pentaho

Los componentes que forman un trabajo, se observa en la siguiente imagen que son menos que en el caso de las transformaciones, ya que solo contienen los elementos (ya explicados en el anterior punto):

  • Conexiones a bases de datos

  • Entradas de Trabajo



  • Servidor Esclavo

Configuración distribuida Jobs Pentaho

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 se ve en el ejemplo de la imagen).

Ejemplo Job Pentaho

Se observa que el primer paso corresponde al objeto ‘START’. Este siempre tiene que estar definido como primer paso para la ejecución de los jobs.

Al igual que en caso de las transformaciones, los trabajos también tienen una pantalla de propiedades en la ruta del menú ‘Editar/Configuración’. Para estos objetos el número de parámetros disponibles a configurar, son menos que el caso anterior. A continuación se detallan dichos parámetros:

Propiedades job Pentaho

  • Pestaña Trabajo

La pestaña Trabajo permite especificar propiedades generales del Trabajo, incluyendo:

Propiedad Descripción
Nombre del Trabajo Nombre del Trabajo. Información requerida si se utiliza el catálogo.
Job filename Ubicación física del Trabajo.
Descripción Breve descripción del Trabajo, que se muestra en el explorador de catálogo.
Descripción extendida Descripción ampliada del Trabajo.
Estado Estado del Trabajo: ninguno, producción o diseño.
Versión Información acerca de la versión de la Transformación.
Directorio Directorio del catálogo donde se almacena el Trabajo.
Creado por Muestra el creador original del Trabajo.
Creado en Muestra la fecha y la hora de creación del Trabajo.
Ultima modificación por Muestra el nombre de usuario del último usuario que modificó el Trabajo.
Ultima modificación en Muestra la fecha y la hora de la última modificación del Trabajo.
  • Pestaña Parámetros

La pestaña Parámetros permite establecer variables de entorno con su respectivo valor y descripción.

  • Pestaña Configuración

Especifica la ubicación del archivo XML que se usa para almacenar objetos compartidos como conexiones de base de datos, esquemas de clustering, etc.

  • Pestaña Log

Opción Descripción
Conexión de log Conexión utilizada para escribir en la tabla de log. 
Tabla de log Especifica el nombre de la tabla de archivado (por ejemplo L_ETL).
¿Utilizar ID de lote? Habilitar si se desea tener un ID de lote en el archivo L_ETL. Deshabilitar para compatibilidad con versiones < 2.0 de Spoon/Pan.
¿Pasar ID de lote? Tildar esta opción si se desea pasar el ID de lote único generado para las entradas de Trabajo del Trabajo actual.

9.3 Configuración de variables de Entorno y kettle.properties

Como en cualquier desarrollo, se dispone de la posibilidad de definir variables de entorno tanto globales, como locales. Para ello se dispone de tres alternativas de configuración, tal y como se verán en las siguientes líneas.

Configuración de Variables de Entorno por menú: Para configurar las variables de entorno que se utilizarán, se debe seleccionar en la barra de menú: ‘Editar/Establecer Variables de Entorno’.

Variables de entorno Pentaho
Como se observa en la imagen anterior, se han creado dos variables de entorno, con sus respectivos valores, que serán utilizados en la conexión a un servidor y en la ruta de ubicación de ficheros.

Así cuando se deseen utilizar dichas valores en los desarrollos, simplemente se deberá llamar a las variables a las que se les han asignado estos valores, con el siguiente formato:

Ejemplo de llamada a variables Pentaho
Es decir, solo se debe colocar en el campo que deseemos:

${nombre_de_la_variable}

Las valores asociados a las variables de entorno que han sido definidas a través de este modo, se perderán al reiniciar Spoon. Por lo que para que esto no suceda y por cuestiones de integridad, se utilizará para el uso de variables globales, la siguiente opción.

Configuración de variables globales en el fichero kettle.properties: Es buena práctica configurar las variables de entorno en el archivo kettle.properties, que se encuentra en las siguientes rutas (según SO):

  • GNU/Linux: home/<nombreUsuario>/.kettle/

  • Window$: C:\Documents and Settings\<nombreUsuario>\ .kettle\

Para crear las variables en este archivo, solo basta con hacer lo siguiente:

nombre_de_la_variable = valor

En este caso sería simplemente añadir al final del archivo las siguientes líneas:

Variables por fichero Pentaho

En todo momento se pueden ver los valores que poseen las variables de entorno, a través de la siguiente opción del menú: ‘Editar/Mostrar Variables de Entorno’.

Las variables de entorno globales, permiten centralizar y reutilizar valores, que se irán repitiendo en las diferentes Transformaciones y Trabajos, por ejemplo: nombre de bases de datos, puertos, url de conexión, etc.

Configuración de variables locales en desarrollos: Se pueden asignar variables locales, utilizando el objeto denominado ‘Obtener Variables’ (si se trata de una Transformación) o ‘Set Variables’ (si se trata de un Trabajo):

Caja para obtener variables en desarrollo Pentaho

Esta última opción, será estudiada en el próximo punto con más profundidad, por lo que simplemente se hace una reseña para presentar las tres alternativas de asignación de variables.

Deja una respuesta