Talend

A Talend é uma empresa que oferece soluções, integradas em uma única plataforma, para atender as principais necessidades do gerenciamento de dados. Suas soluções são divididas em três tipos, descritos nos tópicos seguintes.

Apenas algumas das soluções que serão apresentadas são open source. Estas serão estudadas para que possamos identificar sua adequação ao ambiente nativo.

Integração de Dados

  • integração de dados operacionais: na maioria das vezes são endereçados através de implementação de programas customizados, concluídos sob demanda para uma necessidade específica. As aplicações mais comuns são migração / carga de dados e sincronização / replicação de dados.
  • migração de dados: quando existe uma atualização para uma nova versão de uma base de dados ou aplicação ou quando está sendo feita uma mudança de sistema, os dados precisam ser preservados neste novo sistema. O propósito da migração de dados é transferir os dados existente para o novo ambiente. Estes dados devem ser transformados para o formato adequado do novo sistema, preservado as informações presentes no sistema antigo. Desafios: grande volume de dados, ambientes heterogêneos e consistência.
  • sincronização de dados: existem muitos casos onde os dados são gerenciados separadamente por várias aplicações ou base de dados, mas é necessário que sejam mantidos consistentes entre estes sistemas. A necessidade pela sincronização de dados por ser permanente (sincronização entre sistemas operacionais) ou temporária, por exemplo, durante uma migaração.
  • ETL para BI e Data Warehousing: os processos ETL (Extraction, Transformation and Loading) são os componentes mais críticos - e com valor agregado - de uma infraestrutura de BI (Business Intelligence). Enquanto quase invisível para o usuário da plataforma de BI, os processos ETL recuperam dados de todos os sistemas operacionais e pré-processam estes dados para ferramentas de análise e relatórios. Assim, a precisão e a pontualidade de toda a plataforma de BI dependem dos processos ETL.


Soluções

  • Talend Open Studio
  • Talend Integration Suite
  • Talend On Demand

Qualidade de Dados

  • qualidade de dados no CRM (Customer Relationship Management): um sistema CRM é tão bom quanto as informações nele contidas. Dados de cliente deveriam ser duplicados livremente e prontos para ajudar a contruir melhores relacionamentos. Isto pode permitir futuras oportunidades de up-sell e estar pronto para atingir seu cliente. Estas soluções ajudam na gestão de nomes, endereços, telefones, email e outras informações que fazem o sistema CRM mais efetivo.
  • qualidade de dados no Data Warehouse: mais bem informado, decisões mais confiáveis podem ser tomadas usando a tecnologia de qualidade de dados adequada durante o processo de desenvolvimento de um data warehouse.
  • governança de dados: é uma combinação de pessoas, processos e tecnologia que guia informações de alta qualidade e valor. Quando gerenciadas corretamente, informações precisas guiam a eficiência do negócio.


Soluções

  • Talend Open Profiler
  • Talend Data Quality

Controle do Gerenciamento de Dados

Uma plataforma unificada para gerenciamento de dados une integração, qualidade, controle e administração de dados através de um único ambiente de desenvolvimento e execução.


Soluções

  • Talend MDM - Community Edition
  • Talend MDM - Enterprise Edition

Talend Open Studio - Detalhamento Técnico

Apresentação

Talend Open Studio (TOS) é uma ferramenta open source que oferece funcionalidades ETL, isto é, extração, transformação e carga de dados. O TOS abrange três aplicações (modelador de negócio, design de tarefas / atividades, e gerenciador de metadata) em um ambiente gráfico de desenvolvimento baseado no Eclipse, que é facilmente adequado às necessidades empresariais. Esta ferramenta ainda possibilita a exportação de processos para arquivos executáveis e expostos como WebServices.

Sua instalação é bastante simples, consistindo apenas na extração de um arquivo compactado para uma pasta, onde está o executável para iniciar aplicação. Os testes foram feitos na versão 4.2.0M3, r54685.

A documentação é bastante detalhada e contém vários exemplos. Dois documentos são disponibilizados no site do fornecedor: User Guide e Components – Reference Guide.

Tutorial

Este tutorial visa a apresentação da ferramenta, descrevendo os passos para o desenvolvimento de um exemplo.

Na tela de abertura, o TOS oferece a possibilidade de conectar a diferentes repositórios locais, onde são armazenados os projetos. É nesta tela também que o projeto a ser trabalhado é selecionado ou criado.Uma funcionalidade interessante do TOS é a possibilidade escolha da linguagem com a qual se deseja trabalhar, sendo que as opções disponíveis são Java e Perl.

Nosso exemplo consiste em ler dois arquivos, fazer uma “ligação” entre eles, e criar um arquivo com os dados completos e outro com os dados incompletos de ambos os arquivos.
O primeiro arquivo de entrada, file1.csv, armazena o primeiro nome da pessoa e contém o seguinte texto:

1;maria
2;josé
3;
4;pedro

O segundo arquivo de entrada, file2.csv, armazena o segundo nome da pessoa e contém o seguinte texto:

1;JOSÉ
2;MARIA
3;SEM PRIMEIRO NOME
4;PAULO

A “ligação” entre estes dois arquivos será feita a partir do identificador do primeiro campo, números de 1 a 4, sendo que o arquivo de saída deve conter o nome completo das pessoas (dados completos), desde que a pessoa tenha primeiro nome (dados incompletos). Além da “ligação”, será feita também a transformação dos nomes, isto é, o primeiro nome será todo convertido para letras maiúsculas e o segundo nome será convertido para letras minúsculas. Assim os seguintes arquivos deverão ser gerados: arquivo 1 – dadosCompletos.csv

1;MARIA josé
2;JOSÉ maria
4;PEDRO paulo

arquivo 2 – dadosIncompletos.csv

3;sem primeiro nome

Abaixo estão descritos os passos para a construção deste exemplo utilizando a aplicação TOS.

Criação do projeto

  • selecione o repositório (Local)
  • selecione a opção “Criar um novo projeto local” em Action
    • informar o nome do projeto
    • selecionar a linguaguem Java
    • abra o projeto criado

Criação do Business Model

  • crie um model de dados: botão direito em “Business Model”, opção “Criar modelo de negócio”
  • selecione os componentes para construção do modelo de dados a partir da aba "Paleta"

TOSBusinessModel.png

Criação do Job

  • crie um job: botão direito em “Job Designs”, opção “Create job”
    TOSmetadata.png
    TOSmetadata.png
  • selecione os seguintes componentes na "Paleta" e faça as configurações:
    • tFileInputDelimited
      • aba Component, View, opção Formato do label: primeiroNome
      • aba Component, View, opção Formato da conexão: primeiroNomeData
      • aba Component, Basic settings, opção Property Type: opção Built-In e crie o schema do arquivo de entrada
    • tFileInputDelimited
      • aba Component, View, opção Formato do label: segundoNome
      • aba Component, View, opção Formato da conexão: segundoNomeData
      • aba Component, Basic settings, Property Type: opção Built-In e crie o schema do arquivo de entrada
    • tMap
      • clique com o botão direito em no componente primeiroNome, opção Row, Main e leve até o componento tMap. Este relacionamento será classificado com Main
      • clique com o botão direito em no componente segundoNome, opção Row, Main e leve até o componente tMap. Este relacionamento será classificado com Lookup, já que o componente tMap aceita apenas um relacionamento Main
        TOSmapEditor.png
        TOSmapEditor.png
      • aba Component, Basic settings, Map Editor abrirá a página para fazer os relacionamentos / transformações
      • carrege o ID de “primeiroNomeData” para o ID de “segundoNomeData”, preenchendo automaticamente a expressão para “ligação” das tabelas
      • crie uma variável para fazer a transformação no primeiro nome. Utilização do método Java toUpperCase
      • crie de uma variável para fazer a transformação no segundo nome. Utilização do método Java toLowerCase
      • crie de uma variável que fará a verificação se o dado está completo, isto é, se o primeiro nome foi informado
      • cria a primeira tabela de saída, que conterá os nomes completos. Basta carregar (drag-drop) os dados que se deseja para esta tabela. Foi colocada a expressão para verificar se o nome foi informado
      • crie a segunda tabela de saída, que conterá os registro não aceito na primeira tabela
    • tFileOutputDelimited
      TOSjob.png
      TOSjob.png
      • aba Component, View, opção Formato do label: dadosCompletos 
      • aba Component, Basic Settings, Property Type: opção Built-In e crie o schema do arquivo de saída para dados completos
      • com o botão direito em cima de tMap, selecione a opção Row, NomesCompletos, e clique em cima deste componente. Será criada uma seta
    • tFileOutputDelimited
      • aba Component, View, opção Formato do label: dadosIncompletos 
      • aba Component, Basic Settings, Property Type: opção Built-In e crie o schema do arquivo de saída para dados incompletos
      • com o botão direito em cima de tMap, selecione a opção Row, NomesIncompletos, e clique em cima deste componente. Será criada uma seta

Benefícios

Benefícios para uma empresa

  • maior facilidade nas migrações de dados necessárias para o projeto i.você
  • maior facilidade na integração de dados necessária entre vários elementos / sistemas para a criação de um CMS (Configuration Management System)
  • auxílio na extração e transformação de dados de sistemas e elementos, podendo ser uma fonte de dados para o APG, que é uma das ferramentas de relatórios
  • possibilidade de criação de novo serviço / produt, diversificando receitas

Benefícios para o usuário

  • existindo um sistema de informações (CMS) consistente, isto auxiliará a empresa na tomada de decisões mais diretas (pontuais) e assertivas trazendo benefícios mais rapidamente e pontualmente para o cliente
  • com a criação de um novo produto / serviço, este estará disponível para os clientes usarem, podendo trazer os mesmos benefícios proporcionados.

Negócios

Direcionadores chave para esta iniciativa

Criação de um novo produto / serviço, visando a diversificação de receitas. Este produto / serviço ofereceria as funcionalidades ETL.

Possíveis modelos de negócios

  • Solução que permita extrair dados de bases como logs, arquivos desestruturados e outros para bancos de dados estruturados com aproveitamento total das informações. Um ótimo exemplo é o volume absurdo de dados contidos em planilha e que precisam, após certo tempo de serem transformados para integração em bancos de dados.
  • Prestação de serviços na área de transformação de dados, atuando em empresas que precisam efetuar migrações em massa e adaptação de dados.
  • Aplicação que transforme bases de dados nativas em saídas que tenham alteração automática em seus valores. Exemplo: Virada do século, Mudanças de código-postal, prefixo telefônico, etc.

Business Case

Utilização como produto / serviço

Suponhamos uma solução que ofereça funcionalidades de ETL. Suponhamos ainda uma taxa de contratação de R$50,00, mais R$1,00 por MB de dado analisado, e que, em média, cada cliente solicite a análise de 2GB de dados. Se tivermos 10.000 compras desta solução, teremos um montante de R$20.980.000,00. Como a aplicação a free, o investimento inicial necessário consiste em servidores e treinamento de pessoal, um valor que seria em torno de R$65.000,00. Neste caso, teríamos um ganho de R$20.915.000,00, exceto o valor para manutenção da solução, que consistirá, basicamente, em pessoal.


Utilização interna

Suponhamos uma migração de dados de aplicações legadas para novos sistemas. Suponhamos ainda que cada aplicação tenha, em média, 5GB de dados para serem migrados e que para cada uma destas migrações gaste-se 4 meses (desde o planejamento à validação da execução), sendo necessário 8 pessoas (exceto pessoal de gerência). A utilização de ferramentas ETL ajudaria a dar agilidade ao processo de execução, podendo diminuir o tempo da migração em até 1 mês, além de poder diminuir o pessoal, já que a execução será automática, sendo necessário apenas configuração inicial da solução. Neste caso, teríamos as migrações mais baratas e com tempo de entrega menor.

Links

Home page

Downloads

Documentação

Fórum

Pesquisadores

  • Livia Barcelos Esteves Borges