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.
Si tienes problemas para ver correctamente este contenido ingresa a http://helibertoarias.com/integracion-de-datos/primeros-pasos-con-talent-open-studio-tos-importando-datos/.
Primeros pasos con Talent Open Studio TOS : Importando datos
1. helibert oarias.com
http://helibertoarias.com/integracion-de-datos/primeros-pasos-con-talent-open-studio-tos-importando-datos/
por Heliberto Arias 8 octubre, 2013
Primeros pasos con Talent Open Studio TOS : Importando datos
Share the post "Primeros pasos con Talent Open Studio TOS : Importando datos"
Facebook
Twitter
Google+
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 inf ormació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 inf ormació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.talendf orge.org/tutorials.
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
transf eridos 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.
Script de creación de estructura de datos
Transact-SQL
1
2
3
4
5
6
Create database [DB_A]
go
USE [DB_A]
GO
2. 7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/****** Object: Table [dbo].[Product] Script Date: 10/08/2013 19:57:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Product](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](500) NOT NULL,
CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE database [DB_B]
USE [DB_b]
GO
/****** Object: Table [dbo].[Product] Script Date: 10/08/2013 19:57:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Product](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](500) NOT NULL,
CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Algunos datos para la prueba
Transact-SQL
3. 1
2
3
4
5
6
7
8
USE [DB_A]
GO
/****** Object: Table [dbo].[Product] Script Date: 10/08/2013 20:00:26 ******/
SET IDENTITY_INSERT [dbo].[Product] ON
INSERT [dbo].[Product] ([Id], [Name]) VALUES (1, N'Name')
INSERT [dbo].[Product] ([Id], [Name]) VALUES (2, N'Adjustable Race')
INSERT [dbo].[Product] ([Id], [Name]) VALUES (3, N'Bearing Ball')
SET IDENTITY_INSERT [dbo].[Product] OFF
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.
Recuerda utilizar el botón Check para probar que los parámetros de conexión están correctos.
Repite nuevamente los pasos para
crear la conexión DB_B.
4. 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
ref erencias a la base de datos para
realizar las operaciones sin embargo
una buena practica es ref erenciar 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 modif icaciones
adicionales es posible que solo se requiera modif icar 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.
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.
Si se desea se puede f iltrar las tablas para
la extraer el esquema.
5.
6.
7. 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.
8. 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.
Después seleccionamos y modif icamos parcialmente el control agregado.
9. Repetimos el paso anterior pero ahora seleccionamos la tabla Product desde la conexión DB_B y
seleccionamos el control tMSSqlOutput, los modif icamos 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
identif icar del sistema f uente.
Ahora establecemos el f lujo de inf ormación
11. 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.
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.