Merge de ficheros con Talend

0
6175

Merge de ficheros con Talend

0. Indice de contenidos.

1. Introducción

Talend es una herramienta ETL muy extendida dentro de un entorno de trabajo. Cada vez que se necesita hacer ciertos procesos de carga de datos con una cierta periodicidad o bien sean puntuales pero con una complejidad se piensa en este tipo de herramientas. Talend es una herramienta muy potente y bastante «fácil» de usar por lo que en Autentia forma parte de nuestro ecosistema de desarrollo desde hace tiempo y se nota en la cantidad de tutoriales que tenemos ya publicados.

En el tutorial de hoy nos vamos a centrar en el componente tUnite que nos permitirá unir/mergear varios ficheros/fuentes de datos en uno sólo.

2. Entorno.

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 15′ (2.5 GHz Intel Core i7, 16GB DDR3).
  • Sistema Operativo: Mac OS Mavericks 10.9.5
  • Talend Open Studio 5.5.1

3. Creación y configuración

Nos creamos un nuevo job dentro de nuestro proyecto de Talend e incorporamos a él dos componentes para la lectura de ficheros del tipo tFileInputFullRow. Los configuramos para que lean dos ficheros de texto diferentes, uno con la cabecera y otro con los datos. A continuación incorporamos un componente de tipo tUnite que se encargará de hacer el merge o fusión de las dos fuentes de datos. Hay que tener en cuenta el orden para que el primero sea el componente que lee el fichero de cabecera y el segundo el componente que lee el fichero de datos. Este orden se establece vinculando primero el componente tFileInputFullRow de la cabecera al componente tUnite y posteriormente el componente tFileInputFullRow de los datos.

Una de las particularidades del componente tUnite es que todas las fuentes de datos entrantes a él tienen que tener un esquema común, en nuestro caso será una cadena de texto que representa una línea leída del fichero. Además el componente tUnite tiene una variable global llamada «Number of lines» que nos indicará el número de líneas procesadas por él tras su ejecución.

Para finalizar hemos incorporado otro componente de tipo tFileOutputDelimited para poder comprobar el resultado de nuestro job, aunque este paso es opcional. Es decir, se podría haber puesto un componente de log para poder verlo u otro componente de «salida de datos».

4. Ejecución

Una vez con todos los componentes incorporados a nuestro job, configurados y enlazados entre sí, solo nos queda ejecutar el job y comprobar su funcionamiento. Vemos tras su ejecución que el fichero de salida generado es la unión, en el orden deseado, de los dos ficheros de entrada.


Fichero de cabecera


Fichero de datos


Fichero final con la unión de ambos ficheros

5. Conclusiones

Como se puede ver el uso de componentes como el que hemos visto hoy, tUnite, es muy sencillo y nos puede ayudar mucho a la hora de procesar ficheros, sobre todo como parte de un proceso más complejo.

Espero que este tutorial os haya sido de ayuda. Un saludo.

Alfonso Blanco Criado
ablanco@autentia.com

Dejar respuesta

Please enter your comment!
Please enter your name here