Unir dos fuentes de datos con el componente tMap

En este tutorial descubrirá lo fácil que resulta unir dos fuentes de datos con el componente tMap.

Este tutorial utiliza la versión 6 de Talend Open Studio Data Integration.

1. Cree una nueva Tarea y añada un componente fuente

En una nueva Tarea, añada el archivo de metadatos de películas a la Tarea como un componente tFileInputDelimited.

Fíjese que la última columna del archivo de películas es directorID. En este tutorial utilizará esta columna para unir el archivo de películas a la columna directorID del archivo de directores.

2. Cree un nuevo archivo de metadatos basado en el archivo simple con el nombre directors.txt y añádalo como segunda fuente

  1. Cree un nuevo archivo de metadatos delimitado con el nombre directors.
  2. Para especificar un archivo de muestra, haga clic en Browse (Navegar) al lado del campo File (Archivo), seleccione el archivo txt del disco local y haga clic en Open (Abrir).
  3. En este archivo el delimitador de campo es una coma. Para cambiar el delimitador, en la lista desplegable Field Separator (Separador de campo) seleccione Comma (Coma).
  4. Para refrescar la visualización del archivo para que refleje el cambio efectuado, haga clic en Refresh Preview (Refrescar previsualización).
    Aviso: Este archivo tan solo tiene dos columnas: directorID y directorName.
  5. Cambie los nombres de columna a directorID y directorName y la longitud del campo directorName a 40. El nuevo archivo de metadatos, directors 0.1, aparecerá debajo de Metadata (Metadatos) en Project Repository (Repositorio del proyecto). Ahora ya puede vincular la columna directorID del archivo de las películas con la columna directorID del archivo de los directores.
  6. Añada el archivo de metadatos de directores a la Tarea como segunda entrada fuente.

3. Añada y configure un componente tMap para vincular los dos componentes fuente.

  1. Añada un componente tMap al Diseñador de tareas.
  2. Para crear un flujo de datos entre los dos componentes hacia el componente tMap, primero vincule movies (películas) al componente tMap_1, y luego vincule "directors" (directores) a tMap_1.
  3. Para cambiar el nombre del enlace entre el componente fuente y tMap, haga clic en el enlace dos veces y escriba movies. Asimismo, cambie el nombre del otro enlace a directors.
  4. Para abrir el asistente del componente tMap, haga doble clic en el componente.
    Fíjese que en la sección izquierda del asistente, tanto "movies" como "directors" aparecen enumerados como entradas del componente tMap.
  5. Para crear un nuevo flujo de datos de salida, en la sección de salida del asistente de tMap haga clic en [+], dele el nombre joinedOutput al nuevo resultado y haga clic en OK. Se creará un flujo de datos de salida vacío.
  6. Para añadir los campos movieID, title, releaseYear y url al flujo de datos de salida, seleccione los cuatro campos de la entrada "movies" y arrástrelos hasta el flujo de datos de salida. Del mismo modo, añada el campo directorName al flujo de datos de salida desde la entrada "directors".
  7. Para configurar la combinación, seleccione la columna directorID de la tabla de películas y arrástrela a la columna directorID de la tabla de directores.

4. Guarde el resultado en un archivo

  1. Para indicar un destino para el resultado, añada un componente tFileOutputDelimited al Diseñador de tareas y vincule a este el resultado joinedOutput del componente tMap.
  2. Para configurar el componente de salida, en la vista Component (Componente) especifique la ruta y el nombre del archivo de salida e incluya una fila de encabezado en el archivo de salida.
  3. Para ejecutar la Tarea, en la vista Run (Ejecutar) haga clic en Run.
  4. Para comprobar el archivo moviesComplete.csv, vaya a la carpeta en la que se creó el archivo y ábralo.

Aviso: Algunas películas no contienen nombre del director. Estas películas no tenían directorID.

La conducta por defecto de la herramienta de ETL:

  • Se mostrarán todas las filas de la tabla impulsora.
  • Si la condición de combinación no se satisface, los campos de salida correspondientes aparecerán en blanco. Esto es un "left outer join" (combinación externa de la izquierda).
    Por contra, puede configurar la combinación en tMap como "inner join" ("combinación interna"), que tan solo mostrará las filas en las que la condición de combinación sí se satisfaga.