Pentaho Data Integration - Integração e Migração de Dados com ETL Open
Source
Marcio Junior [email protected]
MARCIO JUNIOR VIEIRA
● CEO da Ambiente Livre Tecnologia. ● Desenvolvedor de Software ,Trabalha com Software Livre desde
2000. ● Formado em Tecnologia em Informática(UFPR), Pós-Graduado
em Software Livre(UFPR). ● Palestrante em congressos relacionados a Software Livre: FISL,
CONISLI, SOLISC, LATINOWARE, FLISOL, SFD, Joomla Day,Pentaho Day.
● Especialista em implantação e customização de Pentaho CE, Alfresco, LimeSurvey, Joomla, SugarCRM e dotProject.
● Ativista FOSS e Moderador da Lista PentahoBR
Ecosistema Ambiente Livre
Software Livre as 4 Leis (GPL)
● "Software livre" se refere à liberdade dos usuários executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software. São 4 tipos de liberdade, para os usuários do software:
● 1. A liberdade de executar o programa, para qualquer propósito.
● 2. A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito para esta liberdade.
● 3. A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo.
● 4. A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie.
ETL ou ETC
● Extração, Transformação e Carga (Extract, Transform, Load – ETL).
● Extração de dados dos sistemas de origem● Transformação : Seleção, Tradução de
Valores Codificados (Ex. 1 p/ sexo masculino) , Cálculos , Junção , Transposição.
● Carga: Armazenagem no DW ( Dados Históricos )
ETL/ETC
Desafios ETL
● Gama de valores e qualidade de dados● Escalabilidade● Volume de dados● Diversidade
Processamento Paralelo
● Dados: Divisão de um único arquivo sequencial em arquivos de dados menores.
● Pipeline: Permitindo a execução simultânea de diversos componentes no mesmo fluxo de dados.
● Componente: Execução simultânea de múltiplos processos em diferentes fluxos de dados no mesmo job.
ETL X HardCore
● Desenvolver e Manutenção uma rotina de carga em uma ferramenta de ETL é muito mais fácil e rápido que codificá-la. Segue padrões.
● Desempenho: As ferramentas de ETL utilizam métodos mais performáticos.
● Execução em paralelo: Ferramentas de ETL possuem recursos de paralelização nativos e facilmente implementáveis.
ETL X HardCore
● Escalabilidade: Ferramentas de ETL podem ser transferidas de servidor mais facilmente e até eventualmente distribuir sua carga entre vários servidores.
● Diversidade de conectores: A conexão de uma ferramenta de ETL com múltiplas fontes de dados é transparente.
● Reusabilidade:Uma carga normalmente pode ser reaproveitada dentro de outras cargas ou sobre a forma de um template
● Documentação, Maior garantia da qualidade dos dados, Auditoria & Tracking, Segurança
Ferramentas de ETL
Proprietárias● Oracle Warehouse Builder (OWB)● IBM Information Server (Data Stage)● Integration Services (SSIS)● Power Center (antigo Power Mart)
Open Source● Pentaho Data Integration ( Kettle )● Talend
ETL no Processo de BI
Kettle Project
Pentaho Data Integration (PDI, ou Kettle) é um componente da suíte do Pentaho responsável pelos processos de ETL.
●
Hacker● Matt Casters
Chief Architect, Pentaho Data IntegrationKettle Project Founder , Atualmente Trabalha na Pentaho Corporation.
Pentaho Suite
Kettle
● Apesar de ferramentas de ETL serem usadas em projetos de data warehouse, PDI pode também ser usado para:
● Migração de dados entre aplicações/banco de dados
● Exportar dados de banco de dados para arquivos texto
● Carregar massivamente dados em banco de dados
● Data Cleansing – disciplina de qualidade/limpeza de dados de data warehouse
● Integração de aplicações.
Aplicações
● Spoon - ferramenta gráfica com que se desenha e testa todo processo do PDI
● Pan - Programa que pode executar transformações desenhadas no Spoon e que estejam tanto em arquivos como em repositórios em banco de dados.
● Kitchen -ferramenta usada para executar Jobs a partir de janelas de terminais.
● Carter – Suporte a configuração de SOA.
Transformação
● Rotina com coleção de passos interligados
● O primeiro á a fonte de dados
● O último representa a saída de dados.
● Pode ser colocadas varias fontes de dados e saídas
● É recomendado 1 transformação para cada dimensão ou tabela fato
Steps
● Um passo é uma unidade mínima dentro de uma transformação.
● Grande variedade de passos● Agrupada em categorias
( input , Output, etc)● Os tipos básicos são :
entrada, transformação, saída
Hops
● Representação gráfica do fluxo de dados entre dois passos (conexão)
● Um deles Origem e outro Destino.
Jobs
● É uma rotina de execução● Pode executar uma ou mais transformações● Utilizado para cargas de tabelas fatos
Na Prática...
Cluster
● Suporte a clusterização e processamento distribuído.
●
Agendamento
● O Kettle tem agente de Agendamento● Pode ser usado o agendador do SO. ( cron )● Ou usado em conjunto ( kettle + SO )
Big Data
Orquestrando Big Data
Data Mining
● Tem steps ( plugins ) para geração de arquivos para Mineração de dados ( Weka )
●
Marketplace
● Possibilidade de Instalar novos Plugins● Novas Funcionalidades● Integrado ao ambiente ( Kettle ).
Bibliografia
● Kettle Project
http://kettle.pentaho.com/
● Pentaho Big Data
http://www.pentahobigdata.com
● Gustavo Maia http://gustavomaiaaguiar.wordpress.com/2010/05/10/por-que-utilizar-uma-ferramenta-de-etl/
● Step Documentation
http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Steps
●
Contato
● Blogblogs.ambientelivre.com.br/marcio/
● Listas Pentaho:● Pentaho BR, Pentaho Brasil , Pentaho
Fortaleza.
Marcio Junior Vieira
e-mail: marcio -@- ambientelivre.com.br