26 Outubro 2016

Talend Data Integration Studio

O que é o Talend?

Este artigo tem como principal objetivo demonstrar algumas das principais potencialidades e funcionalidades do Talend Data Integration bem como a gestão completa do ciclo de vida enquanto solução ETL.

Embora esta ferramenta já exista no mercado há alguns anos, tem tido nos últimos quatro anos uma projeção e procura bastante superior aos seus concorrentes mais diretos, sendo atualmente considerada pela Gartner como visionária na componente Data Integration.

Outra grande vantagem desta ferramenta é o facto de ser parceira da Amazon AWS e uma das principais recomendações da Amazon para utilizar com Redshift e EMR (Big Data). 

Uma das principais vantagens desta ferramenta é o facto de ter uma versão open source com conectores para todos os principais sistemas fonte (https://www.talendforge.org/components/index.phpalém de termos na mesma ferramenta e de forma integrada data integration, master data management, data qualitybig data e application integration. 

Todos os componentes são geridos de forma integrada no Talend Administration Center, onde é também possível agendar execuções de versões de jobs criados no Talend sem necessidade de deploy uma vez que se encontra ligado ao repositório onde os jobs são desenvolvidos. 

Repository Manager é a ferramenta que nos permite gerir migrações entre ambientes e quais as versões dos jobs a migrar. 

As tabelas abaixo explicam as várias opções de edições e componentes que cada versão do Talend possui. 

Como criar processos no Talend?

O primeiro passo será instalar a ferramenta (https://www.talend.com/download/talend-open-studio), podemos usar quer o open studio onde apenas teremos o estúdio para desenvolver ou a versão enterprise que possui o estúdio e o Talend Administration Center (TAC) para gestão de toda a plataforma. 

Na versão open studio teremos de usar software de terceiros para agendar a execução dos processos desenvolvidos e posteriormente exportados, desta forma sempre que existir uma alteração a um job teremos de novamente exportar a última versão para agendar a sua execução diária. 

Na versão enterprise existe o TAC para agendar as execuções dos jobs uma vez que o TAC se encontra ligado aos repositórios onde se encontram todos os processos desenvolvidos e respetivas versões, cada vez que esses processos são alterados não é necessário fazer um novo deploy. 

Na versão enterprise devemos instalar o Talend no servidor (inclui o TAC), ligar o TAC a um repositório (SVN, GIT e Nexus) e instalar no computador local o Talend Studio que se irá ligar ao repositório via o TAC. Desta forma todos os processos criados ficam imediatamente no TAC prontos a serem agendados. 

Umas das principais boas práticas é utilizar os contextos do Talend, estas são variáveis locais ou globais de cada processo que podem ser passados na árvore de processos, entre cada ligação de processo pai-filho. Para isso basta exportar como contexto as ligações para as fontes de dados ou quaisquer repositórios externos utilizados. 

No processo devemos utilizar os contextos para a criação de ligações à fonte, assim podemos receber diferentes variáveis a apontar para diferentes ambientes dos processos pai.

Para criar processos Master, que irão executar sub-processos de forma paralela ou sequencial, existe o objeto tRunJob que permite passar os contextos de um processo master para os seus sub-processos até ao último nível de processos Talend.

Como fazer deploy de processos no Talend?

Na versão enterprise o TAC encontra-se ligado ao repositório onde se encontram os processos desenvolvidos, por isso basta agendar os processos que pretendermos no Job Conductor to TAC.

Na versão open studio teremos de utilizar ferramentas de terceiros para agendar a execução automática de processos, uma das opções é o Windows Task Scheduler, os passos são os seguintes:

1 - Fazer o build e exportar o job (selecionar opção extract zip file)

2 - No Windows task scheduler criar um novo agendamente e utilizar o ficheiro .bat gerado no passo anterior.

.

.

.

.

  Marcos Fernandes
         Consultant