Logo Talend

Tutorial Talend Open Studio. # 4 Jobs

En el tutorial anterior se trató como trabajar en el repositorio. En este nuevo capítulo, nos introducimos en el elemento principal de creación de procesos de integración de datos como son los Jobs.

Creación de jobs

Un job es un proceso que vamos a desarrollar a partir de diferentes componentes conectados mediante flujos de datos y otras relaciones con disparadores.
La creación de un job vuelve a ser similar a lo que ya hemos tratado en los otros elementos del repositorio: Botón derecho en el nodo de «job design» y seleccionamos » Create job» o «Create folder» si en este último caso lo queremos estructurar el job dentro de una carpeta.
Creación job

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 proceso 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 lo que está haciendo 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 situar la nota.

Incorporar componentes en el job

Existen diferentes formas de incorporar componentes en el job, una de ellas es buscarlo y seleccionarlo 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

lienzo preparación job

En el caso que necesitemos trabajar con una base de datos incluida en el repositorio de metadata, 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 ! 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 que puede ser 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 y además para visualizar el resultado, podemos 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.

 

primer job

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.
Imput Base de datos configuración
SQL Builder

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.

Run vista

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.

Deja un comentario

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