Talend Open Studio - Parte 1
Nesse artigo vamos aprender como utilizar metadados e as funcionalidades de customização de código do Talend Open Studio, uma ferramenta Open Source para ETL e Integração de Dados.
Para que serve?
As aplicações de Business Intelligence utilizam informações de várias fontes, sendo necessário integrá-las e carregá-las em um Data Warehouse através de um processo conhecido como ETL (Extração, Transformação e Carga). O Talend Open Studio é uma ferramenta especializada para o desenvolvimento desse tipo de aplicação que utiliza uma interface gráfica baseada em componentes. Essas aplicações podem ser executadas através dessa interface, como aplicações independentes ou como web services.
Em que situação o tema é útil?
Em conjunto com a interface visual do Talend Open Studio, os metadados e a customização de código diminuem o tempo de desenvolvimento, possibilitam o aproveitamento de funcionalidades já existentes e facilitam o entendimento do processo para todos os envolvidos.
No primeiro artigo da série apresentamos a interface visual do Talend Open Studio e seus componentes básicos. Seguindo a aplicação de exemplo, desenvolvemos uma etapa simples de carga de uma tabela a partir de um arquivo texto e a captura dos logs gerados nesse processo. Agora, vamos aprimorar nosso exemplo através da utilização das facilidades de metadados e da criação de novas funcionalidades com código customizado. Os detalhes do modelo de dados utilizado estão no quadro “Exemplo utilizado no artigo”.
Definindo itens de Metadados
Os metadados do TOS armazenam informações reutilizáveis sobre layouts de arquivos, parâmetros de conexão com bancos de dados e estruturas de dados (schema), necessários durante o desenvolvimento dos Jobs. Vários wizards auxiliam a coletar e armazenar essas informações. No painel Repository, o nó Metadata exibe os tipos de metadados que podem ser configurados, como podemos ver na Figura 1.
Figura 1. Itens de metadados
Seguindo nosso exemplo vamos criar três itens de metadados: a conexão com um banco de dados, a definição de um arquivo delimitado e uma planilha.
Na aba Repository clique no nodo Metadata para expandir a árvore. No item Db Connections clique com o botão direito e selecione Create connection. Informe o nome (Vendas) da conexão e clique em Next. Selecione o Db Type MySQL e preencha os demais parâmetros conforme a Figura 2; a senha é “vendas”. Clique no botão Check para validar a configuração e depois em Finish. Em seguida, abra o nodo Db Connections, no item Vendas clique com o botão direito e selecione Retrieve Schema. Feito isso, desmarque os checkbox VIEW e SYNONYM e clique Next. Marque as três tabelas e clique em Next. Depois, navegue no painel Schema para visualizar as definições dos atributos de cada tabela. No schema dim_produto altere a precisão do atributo valor_unitario para 2, conforme a Figura 3. Repita o mesmo procedimento para o atributo valor_total do Schema fato_venda, e clique em Finish para encerrar.
Figura 2. Nova conexão com banco de dados
Figura 3. Schema da dimensão dim_produto
Para criar uma definição de arquivo delimitado o processo é semelhante. Clique com o botão direito no item File delimited e selecione Create file delimited. Informe o nome (Produtos) e prossiga com Next. Clique no botão Browse... à direita da propriedade File, selecione o arquivo Produtos.csv no diretório de instalação do exemplo e escolha WINDOWS no Format do arquivo. Clique em Next e na próxima tela marque a opção Set heading row as column names para indicar que a linha de cabeçalho contém os nomes das colunas. O botão Refresh Preview atualiza os dados exibindo o nome das colunas. Clique no botão Next. Na próxima tela configure o Type, Length e Precision da coluna VALOR_UNITARIO conforme a Figura 4. Também marque a coluna CODIGO como Key. Finalize clicando no botão Finish.
Seguindo os mesmos passos vamos criar um item File Excel com o nome de “Vendas”, selecionando o arquivo vendas_filial.xls. Marque Plan1 no painel Set sheets parameters e confirme em Next. No passo seguinte também marque a opção Set heading row as column names e prossiga. No próximo passo configure o Type da coluna DATA_VENDA e marque a opção Key dos atributos NUMERO_CUPOM, CODIGO_FILIAL e CODIGO_PRODUTO, conforme a ...
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com
vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa
bagagem consegui um estágio logo no início do meu primeiro
período na faculdade. Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo. Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a
pena, pois a plataforma é bem intuitiva e muuuuito
didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito
obrigado! Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento
front-end, tinha coisas que eu ainda não tinha visto. A
didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado,
adorando demais. Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É
um passo a passo incrível. Só não aprende quem não quer.
Foi o melhor investimento da minha vida! Foi um dos melhores investimentos que já fiz na vida e tenho aprendido
bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da
programação, irei assinar meu contrato como programador
graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana,
aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem
como não aprender, estão de parabéns! Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de
seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com
React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo
muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na
área.Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!