Pentaho Data Integration - Integração e
Migração de Dados com ETL Open
Source
Marcio Junior Vieira
marcio@ambientelivre.com.br
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 Integration
Kettle 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
● Blog
blogs.ambientelivre.com.br/marcio/
● Listas Pentaho:
● Pentaho BR, Pentaho Brasil , Pentaho
Fortaleza.
Marcio Junior Vieira
e-mail: marcio -@- ambientelivre.com.br

Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source - FLISOL 2015 - Curitiba

  • 1.
    Pentaho Data Integration- Integração e Migração de Dados com ETL Open Source Marcio Junior Vieira marcio@ambientelivre.com.br
  • 2.
    MARCIO JUNIOR VIEIRA ● CEOda 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
  • 3.
  • 4.
    Software Livre as4 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.
  • 5.
    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 )
  • 6.
  • 7.
    Desafios ETL ● Gamade valores e qualidade de dados ● Escalabilidade ● Volume de dados ● Diversidade
  • 8.
    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.
  • 9.
    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.
  • 10.
    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
  • 11.
    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
  • 12.
  • 13.
    Kettle Project Pentaho DataIntegration (PDI, ou Kettle) é um componente da suíte do Pentaho responsável pelos processos de ETL. ●
  • 14.
    Hacker ● Matt Casters ChiefArchitect, Pentaho Data Integration Kettle Project Founder , Atualmente Trabalha na Pentaho Corporation.
  • 15.
  • 16.
    Kettle ● Apesar deferramentas 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.
  • 17.
    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.
  • 19.
    Transformação ● Rotina comcoleçã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
  • 20.
    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
  • 21.
    Hops ● Representação gráficado fluxo de dados entre dois passos (conexão) ● Um deles Origem e outro Destino.
  • 22.
    Jobs ● É umarotina de execução ● Pode executar uma ou mais transformações ● Utilizado para cargas de tabelas fatos
  • 23.
  • 24.
    Cluster ● Suporte aclusterização e processamento distribuído. ●
  • 25.
    Agendamento ● O Kettletem agente de Agendamento ● Pode ser usado o agendador do SO. ( cron ) ● Ou usado em conjunto ( kettle + SO )
  • 26.
  • 27.
  • 28.
    Data Mining ● Temsteps ( plugins ) para geração de arquivos para Mineração de dados ( Weka ) ●
  • 29.
    Marketplace ● Possibilidade deInstalar novos Plugins ● Novas Funcionalidades ● Integrado ao ambiente ( Kettle ).
  • 30.
    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 ●
  • 31.
    Contato ● Blog blogs.ambientelivre.com.br/marcio/ ● ListasPentaho: ● Pentaho BR, Pentaho Brasil , Pentaho Fortaleza. Marcio Junior Vieira e-mail: marcio -@- ambientelivre.com.br