Talend Open Studio
Alejandro Alberca Manzaneque
Índice
 Introducción
 ETL
 Características
 Conceptos
 Jobs
 Componentes más importantes
 Algunos ejemplos
Índice
 Introducción
 ETL
 Características
 Conceptos
 Jobs
 Componentes más importantes
 Algunos ejemplos
Índice
 Introducción
 ETL
 Características
 Conceptos
 Jobs
 Componentes más importantes
 Algunos ejemplos
Características
 Herramienta GPL basada en Eclipse para la
gestión y la integración de datos.
 Basada en la programación por componentes
 Desarrollo principalmente gráfico
 Amplia gama de componentes y conectores
 Permite parametrizar los datos usados mediante
Metadatos y Contextos.
 Versionado de elementos
 Depuración del código generado
Índice
 Introducción
 ETL
 Características
 Conceptos
 Jobs
 Componentes más importantes
 Algunos ejemplos
Conceptos (I)
 Proyecto o Workspace: el espacio de trabajo
en el que se agrupan el resto de elementos. Se
usará un proyecto / Workspace para cada
aplicación: ARP, GINCO, CHORUS, etc.
 Business Models: modelos teóricos del
negocio. En el MCC no lo vamos a usar.
 Jobs: procesos de transformación de datos con
los que vamos a trabajar principalmente.
Conceptos (II)
 Componentes: son las subtareas que forman
los Jobs. Se comunican entre ellos mediante
conectores.
 Contextos: son agrupaciones de variables
globales del proyecto.
 Rutinas: son fragmentos de código escritos en
Java que son usados para realizar acciones
sobre los datos no contempladas en la
funcionalidad de los componentes.
Conceptos (III)
 Plantillas SQL: plantillas de consultas escritas
con SQL y Java con sintaxis parecida a la de
JSP.
 Ejemplo de plantilla SQL (OracleFilterRow):
<%
EXTRACT(__SCHEMA__);
EXTRACT(__SCHEMA_TARGET__);
%>
INSERT INTO <%=__TABLE_NAME_TARGET__%> (<%=
StringUtils.list(__SCHEMA_TARGET_NAME__, ",") %>)
SELECT <%= StringUtils.list(__SCHEMA_NAME__, ",") %> FROM <%=
__TABLE_NAME__ %>
WHERE <%=__WHERE_CLAUSE__%>;
Conceptos (IV)
 Metadatos: en ellos se guardan y pueden ser
reutilizados en Jobs y componentes:
 Conexiones de bases de datos
 Esquemas de bases de datos
 Ficheros de todo tipo (XML, CSV, Excel,
Posicionales, mediante expresiones regulares, etc.)
 Servicios web
 Conexiones FTP, LDAP, etc.
Conceptos (V)
 Documentación: en este apartado se pueden
almacenar documentos y ficheros relacionados
con el proyecto.
Conceptos (VI)
 Papelera de reciclaje (recycle bin): si se borra
un Job, un elemento del repositorio, contexto,
etc. se manda a la papelera de reciclaje antes
de poder ser borrado de forma definitiva.
Conceptos (VII)
Índice
 Introducción
 ETL
 Características
 Conceptos
 Jobs
 Componentes más importantes
 Algunos ejemplos
Jobs (I)
 Son los procesos que realizan las
transformaciones de los datos.
 Están definidos por la composición y las
relaciones entre los componentes que los
forman.
 Para desarrollar un Job lo que hay que hacer es
básicamente agregarle componentes,
comunicarlos entre ellos y configurarlos.
Jobs (II)
 Ejemplo de Job sencillo:
 Se lee de un fichero XML
 Se guarda el contenido con otro formato en otro
fichero XML
<movies>
<movie>
<title>A History of Violence</title>
<year>2005</year>
<country>USA</country>
<genre>Crime</genre>
<summary>Tom Stall, a humble family man and owner of a
popular neighborhood restaurant, lives a quiet but
fulfilling existence … SPOILERS NO!
</summary>
</movie>
….
Jobs (III)
 Ejemplo de Job sencillo:
 Se transforma el formato anterior en el siguiente:
<peliculas>
<pelicula>
<titulo>A History of Violence</titulo>
<año>2005</año>
<pais>USA</pais>
<genero>Crime</genero>
</pelicula>
Jobs (IV)
Esquema de entrada:
Jobs (V)
Esquema de salida:
Jobs (VI)
Resultado de la ejecución en la Consola:
Jobs (VII)
Los Jobs de Talend pueden depurarse como una aplicación
Java pulsando la opción “Java Debug” :
Jobs (VIII)
Ejemplo del Job en la perspectiva de depuración:
Jobs (IX)
Los datos de los Jobs también pueden depurarse pulsando la opción
“Traces Debug” para mostrar los datos conforme se vayan procesando:
Jobs (X)
Si algún componente tuviera alguna señal de error o de warning, estos
errores/advertencias se pueden consultar en la pestaña “Problems” así
como en la pestaña “Code” si el error/warning estuviera en el código
fuente
Índice
 Introducción
 ETL
 Características
 Conceptos
 Jobs
 Componentes más importantes
 Algunos ejemplos
Componentes más importantes
 Los Componentes son las “subtareas” que se
realizan dentro de un Job.
 Todos los Componentes de la aplicación se
encuentran en la Paleta de Componentes a la
derecha de la aplicación.
Componentes más importantes
 Se puede localizar un componente escribiendo
el texto en el campo ‘find component…’ para
que aparezcan todos los componentes cuyo
nombre sea similar al valor especificado.
Componentes más importantes
 tMessageBox
Componentes más importantes
 tPrejob y tPostjob
Componentes más importantes
 tRowGenerator
Componentes más importantes
 tFilterRow
Componentes más importantes
 tWarn
Componentes más importantes
 tLogCatcher
 Si en un Job se añaden componentes ‘tWarn’ pero no
se añade un tLogCatcher, no se mostrarán los logs
por consola.
Componentes más importantes
 tDie
 Escribe en el log, pero no mata el proceso, salvo que
se especifique de forma explícita.
Componentes más importantes
 tAggregateRow
 Sirve para obtener valores agrupados. Es decir,
valores obtenidos de la agrupación de alguno de los
valores de entrada (suma, media, máximo, mínimo,
etc.)
Componentes más importantes
 tSortRow
 Sirve para ordenar los registros mediante los valores
de determinadas columnas.
Componentes más importantes
 tMap (I)
 Componente para unificar los registros
correspondientes a varias fuentes de datos.
 Ejemplo. Supongamos las siguientes dos fuentes de
datos:
Componentes más importantes
 tMap (II)
Componentes más importantes
 tMap (III)
Índice
 Introducción
 ETL
 Características
 Conceptos
 Jobs
 Componentes más importantes
 Algunos ejemplos
Gracias por vuestra atención

Charla Talend Open Studio

  • 1.
    Talend Open Studio AlejandroAlberca Manzaneque
  • 2.
    Índice  Introducción  ETL Características  Conceptos  Jobs  Componentes más importantes  Algunos ejemplos
  • 3.
    Índice  Introducción  ETL Características  Conceptos  Jobs  Componentes más importantes  Algunos ejemplos
  • 4.
    Índice  Introducción  ETL Características  Conceptos  Jobs  Componentes más importantes  Algunos ejemplos
  • 5.
    Características  Herramienta GPLbasada en Eclipse para la gestión y la integración de datos.  Basada en la programación por componentes  Desarrollo principalmente gráfico  Amplia gama de componentes y conectores  Permite parametrizar los datos usados mediante Metadatos y Contextos.  Versionado de elementos  Depuración del código generado
  • 6.
    Índice  Introducción  ETL Características  Conceptos  Jobs  Componentes más importantes  Algunos ejemplos
  • 7.
    Conceptos (I)  Proyectoo Workspace: el espacio de trabajo en el que se agrupan el resto de elementos. Se usará un proyecto / Workspace para cada aplicación: ARP, GINCO, CHORUS, etc.  Business Models: modelos teóricos del negocio. En el MCC no lo vamos a usar.  Jobs: procesos de transformación de datos con los que vamos a trabajar principalmente.
  • 8.
    Conceptos (II)  Componentes:son las subtareas que forman los Jobs. Se comunican entre ellos mediante conectores.  Contextos: son agrupaciones de variables globales del proyecto.  Rutinas: son fragmentos de código escritos en Java que son usados para realizar acciones sobre los datos no contempladas en la funcionalidad de los componentes.
  • 9.
    Conceptos (III)  PlantillasSQL: plantillas de consultas escritas con SQL y Java con sintaxis parecida a la de JSP.  Ejemplo de plantilla SQL (OracleFilterRow): <% EXTRACT(__SCHEMA__); EXTRACT(__SCHEMA_TARGET__); %> INSERT INTO <%=__TABLE_NAME_TARGET__%> (<%= StringUtils.list(__SCHEMA_TARGET_NAME__, ",") %>) SELECT <%= StringUtils.list(__SCHEMA_NAME__, ",") %> FROM <%= __TABLE_NAME__ %> WHERE <%=__WHERE_CLAUSE__%>;
  • 10.
    Conceptos (IV)  Metadatos:en ellos se guardan y pueden ser reutilizados en Jobs y componentes:  Conexiones de bases de datos  Esquemas de bases de datos  Ficheros de todo tipo (XML, CSV, Excel, Posicionales, mediante expresiones regulares, etc.)  Servicios web  Conexiones FTP, LDAP, etc.
  • 11.
    Conceptos (V)  Documentación:en este apartado se pueden almacenar documentos y ficheros relacionados con el proyecto.
  • 12.
    Conceptos (VI)  Papelerade reciclaje (recycle bin): si se borra un Job, un elemento del repositorio, contexto, etc. se manda a la papelera de reciclaje antes de poder ser borrado de forma definitiva.
  • 13.
  • 14.
    Índice  Introducción  ETL Características  Conceptos  Jobs  Componentes más importantes  Algunos ejemplos
  • 15.
    Jobs (I)  Sonlos procesos que realizan las transformaciones de los datos.  Están definidos por la composición y las relaciones entre los componentes que los forman.  Para desarrollar un Job lo que hay que hacer es básicamente agregarle componentes, comunicarlos entre ellos y configurarlos.
  • 16.
    Jobs (II)  Ejemplode Job sencillo:  Se lee de un fichero XML  Se guarda el contenido con otro formato en otro fichero XML <movies> <movie> <title>A History of Violence</title> <year>2005</year> <country>USA</country> <genre>Crime</genre> <summary>Tom Stall, a humble family man and owner of a popular neighborhood restaurant, lives a quiet but fulfilling existence … SPOILERS NO! </summary> </movie> ….
  • 17.
    Jobs (III)  Ejemplode Job sencillo:  Se transforma el formato anterior en el siguiente: <peliculas> <pelicula> <titulo>A History of Violence</titulo> <año>2005</año> <pais>USA</pais> <genero>Crime</genero> </pelicula>
  • 18.
  • 19.
  • 20.
    Jobs (VI) Resultado dela ejecución en la Consola:
  • 21.
    Jobs (VII) Los Jobsde Talend pueden depurarse como una aplicación Java pulsando la opción “Java Debug” :
  • 22.
    Jobs (VIII) Ejemplo delJob en la perspectiva de depuración:
  • 23.
    Jobs (IX) Los datosde los Jobs también pueden depurarse pulsando la opción “Traces Debug” para mostrar los datos conforme se vayan procesando:
  • 24.
    Jobs (X) Si algúncomponente tuviera alguna señal de error o de warning, estos errores/advertencias se pueden consultar en la pestaña “Problems” así como en la pestaña “Code” si el error/warning estuviera en el código fuente
  • 25.
    Índice  Introducción  ETL Características  Conceptos  Jobs  Componentes más importantes  Algunos ejemplos
  • 26.
    Componentes más importantes Los Componentes son las “subtareas” que se realizan dentro de un Job.  Todos los Componentes de la aplicación se encuentran en la Paleta de Componentes a la derecha de la aplicación.
  • 27.
    Componentes más importantes Se puede localizar un componente escribiendo el texto en el campo ‘find component…’ para que aparezcan todos los componentes cuyo nombre sea similar al valor especificado.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
    Componentes más importantes tLogCatcher  Si en un Job se añaden componentes ‘tWarn’ pero no se añade un tLogCatcher, no se mostrarán los logs por consola.
  • 34.
    Componentes más importantes tDie  Escribe en el log, pero no mata el proceso, salvo que se especifique de forma explícita.
  • 35.
    Componentes más importantes tAggregateRow  Sirve para obtener valores agrupados. Es decir, valores obtenidos de la agrupación de alguno de los valores de entrada (suma, media, máximo, mínimo, etc.)
  • 36.
    Componentes más importantes tSortRow  Sirve para ordenar los registros mediante los valores de determinadas columnas.
  • 37.
    Componentes más importantes tMap (I)  Componente para unificar los registros correspondientes a varias fuentes de datos.  Ejemplo. Supongamos las siguientes dos fuentes de datos:
  • 38.
  • 39.
  • 40.
    Índice  Introducción  ETL Características  Conceptos  Jobs  Componentes más importantes  Algunos ejemplos
  • 41.