Talend Open Studio es una herramienta Open Source de integración y gestión de datos, así como integración de aplicaciones empresariales: en palabras simples una herramienta ETL.
Talend está basado en Java, requiere específicamente JDK 6 y por tanto puede ser ejecutado en Windows y Linux sin mayor dificultad, solo basta con descomprimir su ‘instalador’.
Talend basa su diseño en 3 niveles:
Es el nivel empleado con mayor frecuencia en Talend Open Studio. Formado por el conjunto de Jobs, o tareas a realizar. Cada Job inicialmente de una grilla (grid) en blanco, donde se arrastran elementos de una paleta ubicada en la parte derecha del diseñador.
En dicha paleta se encuentran varios elementos configurables, llamados Subjobs, los cuales se encargan de ejecutar tareas predeterminadas pero configurables como conexiones, consultas, código personalizado, etc.
Dichos Subjobs se encuentran separados en la paleta en diversas categorías: BI, Cloud, Custom Code, Data Quality, ETL, Orchestation, System, etcétera.
Algunos Subjobs que pueden resultar interesantes son:
Conexiones estandarizadas y personalizables a bases de datos, incluye soporte a gran cantidad de las bases de datos Open Source (MySQL, PostgreSQL, SLQLite) e incluso Sybase y Oracle.
Ejecutores de consultas y procedimientos almacenados en las mencionadas bases de datos. Código Java personalizable.
Iteradores, repetidores de subtareas.
Inscripción de variables globales, muy usado para mantener una variable global, ya que los subjobs solo crean variables locales.
Extractores e insertores de datos de archivos (xml, properties), también configurables.
Conexión a FTP para envío y descarga de archivos.
Compresión de archivos.
Modificadores de carpetas (crear, eliminar, modificar).
Filtros de información.
Los mencionados y varios otros elementos más se unen mediante un flujo secuencial, guiado por flechas extraídas de cada uno de ellos (visibles haciendo click derecho) que hacen referencias a eventos de dos clases:
row: evento que transmite datos del elemento del que parte al elemento apuntado.
trigger: conjunto de eventos, activados por posibles modos de ejecución.
OnSubjobOk: cuando el elemento ha sido ejecutado sin errores.
OnSubjobError: cuando el elemento ha tenido algún error en la ejecución.
otros eventos, dependiendo del tipo de Subjob.
Adicionalmente, un Job puede contener a uno o varios Jobs e invocarlos como parte de un nuevo flujo, ejecutando los Subjobs contenidos dentro de cada uno.
Finalmente, cada Job es exportable a un archivo comprimido en formato ZIP, que contiene el ejecutable: un archivo .jar llamado a partir de un archivo .bat (para Windows) o un archivo .sh (Linux).
En resumen, podemos decir que Talend es una herramienta versátil para el proceso de ETL, con un buen entorno de desarrollo visual y múltiples conexiones a bases de datos sin embargo tiene una curva de aprendizaje un poco elevada y un par de bugs pendientes por resolver.