Tutorial Talend Open Studio. # 4 Jobs
En el tutorial anterior vimos como como trabajar en el repositorio de Talend. Ahora ya podemos introducir el elemento principal de creación de procesos de integración de datos como son los Jobs.
Creación de jobs
Un job de Talend es un proceso que vamos a desarrollar a partir de diferentes componentes conectados mediante flujos de datos y disparadores.
La creación de un job vuelve a ser similar a lo que ya hemos tratado en los otros elementos del repositorio. Empezamos con un click en el botón derecho en el nodo de «job design» y posteriormente seleccionamos » Create job» o «Create folder» si en este último caso queremos estructurar los jobs dentro de una carpetas temáticas.
Como siempre informamos del nombre, propósito del job, la descripción, y versión . Disponemos asimismo del campo de status, que mediante una lista desplegable podemos asignar la situación del job (desarrollo,test o producción).
Después de seleccionar finish, se nos abre el lienzo en donde vamos a desarrollar nuestro job a partir de las cajas de componentes y conectores de flujos de datos.
Una buena práctica es mediante una nota, explicar y documentar en el lienzo el proceso que estamos creando. La nota «Note» la encontraremos en la paleta de componentes y la podemos arrastrar al lienzo. La nota se autoajusta al contenido del texto pero la podemos dimensionar y mover para situarla en donde nos parezca mejor.
Incorporar componentes en el job
Existen diferentes formas de incorporar componentes en el job. Una de ellas es buscar el componente directamente en la paleta de componentes que tenemos en el panel de la derecha de nuestro espacio de trabajo. Otra manera como muestra la imagen inferior, es mediante el puntero en el lienzo, empezar a escribir el nombre del componente y nos irá apareciendo la lista de componentes coincidentes
En el caso que necesitemos trabajar con elementos metadata incorporados en el repositorio, la mejor manera de añadir componentes es arrastrar la conexión al lienzo para que nos muestre la lista de los componentes que podemos utilizar para esa conexión. Muy util ! Por ejemplo si lo que necesitamos hacer es un imput de una tabla, lo más práctico y rápido es arrastrar desde el repositorio el esquema de la tabla al lienzo y de esa manera tras seleccionar el componente de imput de la base de dados, prácticamente nos traerá toda la configuración ya realizada.
Subjobs dentro de un Job
Cuando unimos componentes y conexiones formamos diferentes subjobs que identificaremos por estar contenidos en una forma rectangular que los rodean que por defecto es de color azul. Dentro de un subjob disponemos de un componente principal que es de importancia debido a que sólo desde el componente principal podemos disponer de ciertas funcionalidades como es el caso de desactivar el subjob o enviar un disparador de una acción que implique a todo el subjob.
El componente principal si no tiene dependencia subordinada de otros subjobs, nos podemos fijar que está resaltado en color verde.
Preparando un primer subjob
Como primer ejercicio podemos hacer un subjob muy simple, como por ejemplo hacer un imput a partir de una query a una base de datos. Esto lo podemos hacer a partir de un componente de imput de base de datos. Para visualizar el resultado, es necesario añadir un componente que nos va a permitir visualizar la consulta en la ventana de edición, en la pestaña «run» junto al resto del log del proceso.
Una vez incorporados los dos componentes que vamos a utilizar los vamos a unir mediante un flujo de datos de tipo Principal «Main». Un flujo de datos de tipo principal viene a ser como una tubería en donde circulan los datos hasta llegar al siguiente componente.
Un flujo se puede conectar entre los dos ports de los dos componentes. Como vemos en el ejemplo, el de consulta de base de datos, tiene un port tipo «o» de output ( aparece cuando acercamos el puntero al lateral), mientras el componente tLogRowel dispone de un port «i» de imput.
Conectamos ambos puertos con el puntero estirando la línea del port de origen «o» al de destino «i».
También existe hay otra manera de conectar el flujo Main, seleccionando el componente y botón derecho Row –>Main.
Configuración vista de Edición
La vista de edición que si recordamos corresponde a la vista del panel inferior central de la pantalla, dispone de 4 pestañas:
- Job: Que muestra los datos generales del job que hemos introducido-
- Contexts: Sirve para incorporar parámetros que se utilizarán como variables de contexto que nos permite establecer diferentes escenarios de ejecución del job.
- Component: Esta pestaña nos muestra y permite configurar los diferentes elementos del componente que tengamos seleccionado. Si seleccionamos un componente del lienzo, esta pestaña mostrará los datos de configuración concretos del componente seleccionado. Por otra parte si en vez de seleccionar el componente, seleccionamos el flujo que conecta dos componentes, esta misma pestaña nos mostrará información del esquema de datos. Por último si seleccionamos el subjob, mediante un clic en el área del subjob, podemos configurar elementos del aspecto del subjub, como el color del subjob.
Configuración componente Imput base de datos
Como muestra la imagen inferior, la configuración corresponde básicamente a configurar la conexión a la base de datos.
En el apartado del esquema y query tenemos dos opciones en un desplegable a elegir:
- Repository: Nos permite buscar un esquema o query que tengamos creado en el repositorio
- Built-in: Significa que generamos nosotros el esquema o query. En caso de Bulit-in también podemos utilizar el asistente «Guess» que nos propone el esquema o query.
- Por otra parte junto a la query tenemos un botón con tres puntitos que nos abre el SQL Builder que nos permite generar la query de manera asistida y nos la permite ejecutar (botón señor corriendo) y en su caso depurar el script.
Configuración tLogRow
Este componente tiene muy poquita cosa a configurar, pero la visualización más cómoda es indicar en Mode «Table»
Vista Run del Job
Desde esta vista disponemos de botones desde los cuales podemos ejecutar el job, pararlo «kill» o limpiar la pantalla del job. También nos muestra el log de ejecución y entre el mismo como resultado del tLogRow, también muestra los datos de la consulta. En la derecha una tabla muestra las variables de contexto y contenido de las mismas.
Que más podemos hacer en un subjob:
- Comprimir el Subjob: Es posible comprimir un subjob de manera que solo muestra el componente principal con un clic en «-» en el vertice superior izquierda del subjob.
- Desactivar Subjob: Seleccionando el componente principal y luego botón derecho podemos desactivar un subjob para que no se ejecute y de igual manera lo podemos activar.
Tipos de flujo (Main/Iterate) y Disparadores (Trigger)
Hasta el momento hemos visto un tipo de fujo que es el «Main» que hace circular todo el caudal de datos, pero además disponemos de otro flujo de datos o manera de hacer circular los datos, que es el tipo «iterate»
Flujo de datos Iterate
Un flujo de datos tipo Iterate permite enviar los registros de uno a uno y son captados por una variable que podemos utilizar en un componente de manera iterativa. Como por ejemplo para enviar correos electrónicos a partir de los registros de una tabla de datos.
Disparadores Triggers
Los disparadores son otro tipo de conectores que nos permiten activar diferentes caminos de subjobs en función del resultado OK/Error de un subjob anterior.
En el ejemplo siguiente un disparador envia un correo electrónico si falla el job y si funciona correctamente abre un mensaje en pantalla.
Antoni Lisbona: Director de BuConDa
Volver índice contenidos tutorial