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.
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
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).
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:
-
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’.
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:
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:
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):
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.