Un día en la vida de un desarrollador de integración de datos: Cómo crear su primera tarea en Talend Studio [2.ª parte]

El vídeo presenta un sencillo ejemplo sobre cómo crear su primera tarea en Talend Studio. En las demás entregas de esta serie se abordarán funciones más avanzadas.

En esta entrega de Un día en la vida de un desarrollador de integración de datos trabajaremos con un almacén de datos sobre clasificaciones de películas para captar la clasificación media de cada título por estado. Para ello procederemos a:

  1. Unir dos tablas a partir de nuestro almacén de datos,
  2. Calcular la clasificación media por estado usando un componente agregado, y
  3. Guardarla en una tabla separada de nuestro almacén de datos.

1. Unir tablas

Haga clic con el botón derecho en el árbol de carpetas Job Designs (Diseños de tarea) del repositorio y seleccione Create Job (Crear tarea). Le daré un nombre y una finalidad resumida.

tarea de integración de datos

Aportemos dos definiciones de tabla de base de datos del repositorio Metadata (Metadatos) que contengan los datos fuente que necesitamos. Tengo una tabla informativa que contiene datos de clasificaciones y una tabla de dimensión de usuarios que incluye información sobre el estado donde viven.

Las arrastraré y soltaré una por una en nuestra área de trabajo de diseño. Y, como se trata de definiciones genéricas de tabla de metadatos, a medida que las suelte una por una en el área de trabajo de diseño tengo que especificarlas como componentes fuente MysqlInput.

crear una tarea de datos

A continuación necesitamos un tMap para unir estos dos componentes de origen. Puedo ir a la paleta de componentes de la derecha y buscar el componente o hacer clic en el área de trabajo de diseño, empezar a escribir y seleccionarlo para incorporarlo a mi flujo de Tarea.

Conectemos los datos con tMap. Puedo hacer clic con el botón derecho y conectarlos mediante la función row o, sencillamente, arrastrar y alargar conectores con los iconos junto a los componentes. A medida que realice estas acciones, etiquetaré mis conectores con un doble clic lento sobre cada etiqueta existente. También puedo cambiarles el nombre a los componentes. Esto me ayuda a identificar mejor las tablas al configurar tMap una vez creado mi flujo de Tarea.

2. Usar un componente agregado

El tercer componente que necesitamos es un agregador, que calculará la clasificación media por estado.

  1. Vuelva a hacer clic en el área de trabajo de diseño y busque "Agreggate" (Agregar) para encontrar y seleccionar el nuevo componente.
  2. Conéctelo a tMap y ponga nombre al resultado.

3. Determinar una tabla de destino

Lo último que necesitamos es nuestra tabla de destino, donde nos interesa trasladar todos los datos de nuestros resultados. Ingresemos los metadatos para mi tabla de destino, especifiquémoslo como componente MysqlOutput y conectémoslo con el resto de mi flujo.

Configurar componentes

Ahora que ya tenemos todas las piezas de la Tarea en su lugar y conectadas, debemos configurar los componentes para gestionar el flujo de datos correctamente.

Configurar tMap

En primer lugar, configuraremos tMap uniendo Ratings_In a lkp_States.

  1. Vincule los dos conjuntos de datos arrastrando el User ID de la tabla Ratings_In hasta el campo ID de la tabla lkp_States.
  2. Una vez unidas las tablas, agarre el campo Movie_Id y Rating (Clasificación) de la tabla Ratings_In y el campo State (Estado) de la tabla lkp_States, y arrástrelos hasta la tabla Ag_Output. Esto genera un conjunto de datos de salida que dirigirá el resto del flujo.
  3. Haga clic en OK.

Configurar el agregador

Y ahora es el momento de configurar el agregador. Para ello debo confirmar primero que el esquema del agregador coincide con los resultados definidos del componente. Nos interesa asegurarnos que las columnas Movie_Id y State se trasladen al resultado de mi agregador y que hay disponible una columna para contener los datos que estamos agregando. Está etiquetada como Average_Rating.

Dado que esta columna es un promedio calculado, debe contabilizar decimales para que el tipo de datos sea Float con una longitud de 5 y una precisión de 3.

tarea de integración de datos

Parece que está perfecto, con lo cual le daré a OK.

Ahora que tenemos determinado el esquema, podemos configurar el agregador para que nos calcule la clasificación media:

  1. Agrupe por Movie_Id y State y, para nuestras operaciones, haremos que nuestra columna Output sea Average_Rating, la columna que acabamos de confirmar en nuestro esquema de salida.
  2. Configure la función a avg y estaremos promediando el campo Rating (Clasificación).
  3. Ya tengo mapeada mi fuente de destino hasta mi tabla de destino MySQL. Tenemos la tarea a punto de caramelo.

Documentemos el flujo mediante un título. Seleccionaré mi flujo, iré a la pestaña Components (Componentes), seleccionaré Show subjob title (Mostrar el título de la subtarea) y lo llamaré “Load Average Rating by State” (Cargar clasificación media por estado).

Ejecutar su primera tarea

Ejecutemos esta Tarea. Puedo ir a la pestaña Run (Ejecutar) de mi paleta de diseño y efectuar una ejecución básica. Y se ha ejecutado a la perfección.

Para obtener información detallada sobre cómo crear una primera Tarea en Studio, eche un vistazo al vídeo de arriba. Más adelante abordaremos la ejecución de procesos o tareas, la realización de pruebas y la depuración.

| Last Updated: agosto 7th, 2019