Tuesday, September 19, 2017
Integración de datos

Primeros pasos con Talent Open Studio TOS : Importando datos con tMsSqlOutput

>helibertoarias helibertoarias
octubre 08, 2013

Si estas leyendo esto y no tiene idea que es Talend, bien te resumiré, Talend es un proyecto Open Source que proporciona una poderosa herramienta para las tareas relacionadas con la integración de datos. Entre estas tareas puedes por ejemplo diseñar y exportar Jobs que consulten información desde servicios web y la sincronicen con una base de datos de manera periódica.
Puedes procesar archivos planos o archivos cvs o excel ubicados en un FTP, procesar y validar la información contenida y guardarla en una base de datos o generar correos entre otra muchas cosas más. Quieres aprender más sobre Talend puedes registrarte en el sitio web y acceder a http://www.talendforge.org/tutorials.

Video paso a paso

Que haremos?

Para una iniciar con Talend vamos a crear un ejemplo común, vamos a leer un lote de registros de la tabla Product de una base de datos a que llamaremos DB_A. Los registros contenidos en esta tabla serán transferidos a una base de datos llamada DB_B. El motor de base de datos sera SQL Server 2008 R2 tanto para el origen y destino de los datos. Para este ejercicio se requiere descargar e instalar Talend Data Integration esto se puede hacer desde http://www.talend.com/download. El ejemplo se realizara con la versión actual, Talend 5.3.1. Es prequisito tener Java instalada en tu equipo.

1. Empezando

Una vez instalado ejecuta el archivo TOS_DI-win32-x86.exe o TOS_DI-win-x86_64.exe, dependiendo si tienes SO de 32 o 64 bit, ubicado en el directorio de instalación. En la ventana inicial selecciona la opción Avanzada, examina para buscar un directorio de trabajo y luego selecciona Restart. Finalmente Ingresa el nombre del proyecto a Crear, en este caso lo llamaremos Talend_01.

2. Creando las base de datos

Para este ejemplo crearemos dos bases de datos DB_A y DB_B las cuales poseen la misma estructura para la tabla Product . La base de datos DB_A inicialmente incluirá datos.

3. Creando las conexiones a base de datos

Luego de creadas las base de datos vamos a proceder a crear las conexiones desde Talend. Las conexiones tendrán los mismos nombres utilizados para las base de datos.

Creando conexión a base de datos

Configurando conexión

Recuerda utilizar el botón Check para probar que los parámetros de conexión están correctos.

Probando conexión

Repite nuevamente los pasos para crear la conexión DB_B.

 

NOTA: Si estas usando la instancia predeterminada de SQL Server, el campo Additional parameters es vacío, de lo contrario debes ingresar instance=xxxx en dicho campo. Debes reemplazar xxxx por el nombre de tu instancia,

 

4. Cambiado cadenas de conexión al contexto

Hasta el momento hemos creado las referencias a la base de datos para realizar las operaciones sin embargo una buena practica es referenciar las variables de conexión a través de variables contexto. Con estas variables se pueden realizar operaciones como sobrescribir sus valores durante ejecución, valores los cuales pueden ser cargados desde un XML. Un ejemplo puede ser cuando se realizan cambios en los parámetros de conexión pues con la variables de contextos y con unas modificaciones adicionales es posible que solo se requiera modificar un archivo XML y no volver a exportar el Job con los nuevos parámetros. Para cambiar los parámetros de conexión a variables de contexto se debe abrir las conexiones creadas y seleccionar la opción Exportar como contexto tal como se aprecia en la ilustración. En las ventanas emergentes no se realizan cambio y se selecciona siguiente para guardar los cambios.

Cambiado variables de conexión a contexto

Creación de contexto

Ahora vamos a proceder a leer las tablas contenidas en la base de datos, para esto utilizamos la opción Extraer esquema sobre la conexión seleccionada.

Extraes esquema de la conexión

Si se desea se puede filtrar las tablas para la extraer el esquema.

Filtrando el esquema a extraer 1

Filtrando el esquema a extraer 2

Filtrando el esquema a extraer 3

Esquema obtenido desde la conexión

Luego se deben repetir los pasos para el obtener el esquema desde de la conexión DB_B.

5. Creando el Job

Ahora vamos a crear el Job en el que se cargaran los registros de una base de datos y se guardaran en otra.

Creación Job

Seleccionamos la tabla Product de la conexión DB_A y lo arrastramos hasta el Job creado previamente, en la ventana emergente utilizaremos el control tMSSqlInput empleado para obtener los datos contenidos en la tabla.

Agregando control de entrada de datos

Después seleccionamos y modificamos parcialmente el control agregado.

Configurando control de lectura de datos

Repetimos el paso anterior pero ahora seleccionamos la tabla Product desde la conexión DB_B y seleccionamos el control tMSSqlOutput, los modificamos parcialmente y debe quedar de la siguiente manera. Recuerda marcar la casilla Turn on identity insert para permitir que se guarden los registros con el mismo identificar del sistema fuente.

Configurando control de guardado de datos

Ahora establecemos el flujo de información

Estableciendo flujo de información

6. Ejecutando el Job

Ahora ejecutando el Job de Talend

Ejecutando el job

Para visualizar los datos guardados durante la ejecución se puede utilizar el control tRowLog. Al ejecutar nuevamente se imprime en pantalla los datos guardado.

Visualizando datos cargados

De esta manera al ejecutar el Job todo el contenido de la tabla Product en la base de datos DB_A sera copiado a la base de datos DB_B.

(Visitado 1.228 veces, 4 visitas hoy)
Heliberto Arias
Mi nombre es Heliberto Arias y vivo en Barranquilla, Colombia. Soy desarrollador de software. He estado en el desarrollo de software desde el 2007. Cree este blog en 2013 para compartir lo que voy aprendiendo cada año, en el escribo de tecnologías Microsoft principalmente en C# (y aunque he usado VB declaro que lo detesto) y SQL Server desarrollado aplicaciones y servicios web entre otros.Me gustaría mucho si te suscribes a mis redes en Youtube, Google+, Twitter, e Instagram.

Comments

  • Luis Enrique
    Luis Enrique

    Estimado gracias por tu respuesta al twitter puedes dar mayor detalle sobre Etl con talend, ya me conecte a mysql pero necesito transformar data para generar reportes.

    Oct 20, 2014, 2:16 pm
    Responder
    • Heliberto Arias
      Heliberto Arias

      Luis, exactamente que procesos requieres aplicarles a los datos?

      Oct 20, 2014, 4:06 pm
      Responder

Leave a Comment

Your email address will not be published.

cuatro × cinco =

Login
Remember me
Lost your Password?
Password Reset
Login