Pentaho Data Integration
               Pedro José




© 2009, Pentaho. All Rights Reserved.
Quem sou

          Pedro José
          Técnico em desenvolvimento de sistemas
          Graduando em ciências da computação
          Sócio da empresa Moobi
          Programador do Tribunal de Justiça




© 2009, Pentaho. All Rights Reserved.
Roteiro

          O que é ETL?
          Algumas ferramentas para ETL
          Por que usar o pentaho?
          Um pouco mais sobre o pentaho
          Desmistificando o pentaho data integration
          Interface gráfica
          Demonstração
          Problemas?




© 2009, Pentaho. All Rights Reserved.
O que é ETL?




              “Extração, transformação e carga(ETL), é o núcleo do processo de
        integração de dados. É tipicamente associado com data warehousing.”




© 2009, Pentaho. All Rights Reserved.
Ferramentas de ETL

          Integration services(Microsoft)
          Talend
          Oracle warehouse builder
          DataStage (IBM)
          Pentaho Data Integration
          Programador/DBA




© 2009, Pentaho. All Rights Reserved.
Por que usar o PDI?

          Alternativa livre
          Multiplataforma
          Pequena curva de aprendizado
          Extensível
          Integrada com diversas outras ferramentas do mercado
                 Access
                 Excel
                 LDAP
                 SAP
                 Salesforce
                 Json, Yaml, RSS, etc...



© 2009, Pentaho. All Rights Reserved.
Por que comecei a usar o PDI?

          Treinamento
          Suíte Pentaho
          Dores de cabeça de todo programador
                 Migração entre servidores
                 Migração entre diferentes versões de sistema
                 Rotinas de carga em bases de dados




© 2009, Pentaho. All Rights Reserved.
Um pouco mais sobre o PDI

          Inicialmente chamado de Kettle(Kettle Tranformation Transportation
          Loading Environment)
          Criada em 2001 a partir da frustação com outras ferramentas de ETL,
          com foco na facilidade de utilização e na facilidade de manutenção
          Em 2005 tornou-se open source ganhando colaboradores
          Adquirida pela Pentaho em 2006
          “Boom” em 2007. Adição de novos recursos, suporte a processamento
          paralelo e diversos outros recursos para programadores




© 2009, Pentaho. All Rights Reserved.
Componentes do PDI

          Spoon – interface gráfica para criação de tranformations e jobs
          Pan – ferramenta de linha de comando para execução de
          tranformations
          Kitchen – ferramenta de linha de comando para execução de jobs
          Carte – servidor web para execução remota de tranformations e jobs




© 2009, Pentaho. All Rights Reserved.
Instalação

          Instale o Java Runtime Environment(JRE) versão 5.0 ou superior
     http://www.java.com/pt_BR/download/
          Faça o download da versão comunitária do PDI
     http://sourceforge.net/projects/pentaho/files/Data%20Integration/
          Descompacte o arquivo do PDI
          Execute o Spoon
     caso windows => spoon.bat
     caso linux                         => spoon.sh
     OBS: Alguns bancos de dados não possuem seus respectivos drivers no
          pacote básico. Caso queria adicionar um driver que esteja faltando ou
          substituir um existente, acesse a pasta “libextJDBC”

© 2009, Pentaho. All Rights Reserved.
Conceitos básicos

          Tranformations - Sequência lógica de passos para realizar alguma
          tranformação.




© 2009, Pentaho. All Rights Reserved.
Conceitos básicos

          Jobs - Forma de chamar e controlar a execução de uma sequência de
          tranformations. Geralmente, jobs são agendados e executados em lote
          de forma automática.




© 2009, Pentaho. All Rights Reserved.
Conceitos básicos

          Repositórios
                     Local onde as informações sobre as tranformations/jobs ficarão
                     armazenadas.
          Steps
                     Corresponde a um passo de uma determinada transformação. Este
                     passo poderá ser a criação, leitura, escrita ou manipulação de
                     alguma informação. Uma transformation é composta de um ou
                     mais steps.




© 2009, Pentaho. All Rights Reserved.
Tipos de step (Tranformation)
                                        Input – entrada de dados
                                        Output – saída de dados
                                        Tranform – transformações nos
                                        dados
                                        Flow – fluxo da informações
                                        Utility – utilitários
                                        Scripting – execução de scripts
                                        Lookup – consulta de dados
                                        Joins – junções entre fontes
                                        Validation – validação
                                        Data warehouse – armazém de
                                        dados
© 2009, Pentaho. All Rights Reserved.
Steps básicos (Tranformation) - INPUT

          Input
                     Access input
                     CSV input
                     Excel input
                     Generate random values
                     Generate rows
                     Json input
                     LDAP input
                     RSS input
                     Table input




© 2009, Pentaho. All Rights Reserved.
Steps básicos (Tranformation) - OUTPUT

          Output
                     Access output
                     Delete
                     Excel output
                     Json output
                     LDAP output
                     RSS output
                     Table output
                     SQL output
                     XML output




© 2009, Pentaho. All Rights Reserved.
Steps básicos (Tranformation) - TRANSFORM
     •Tranform
                     Add constants
                     Replace in string
                     Unique rows
                     Value mapper
                     Split fields
                     Add sequence
                     Strings cut
                     Calculator




© 2009, Pentaho. All Rights Reserved.
Steps básicos (Tranformation) - UTILITY

          Utility
                     Change file encoding
                     Run SSH commands
                     Write to log
                     Execute a process
                     Send message to syslog
                     Mail




© 2009, Pentaho. All Rights Reserved.
Steps básicos (Tranformation) - FLOW

          Flow
                     Blocking step
                     Filter rows
                     Abort
                     Dummy (do nothing)
                     Java filter
                     Switch / case




© 2009, Pentaho. All Rights Reserved.
Steps básicos (Tranformation) - SCRIPTING

          Scripting
                     Execute SQL script
                     Execute row SQL script
                     Modified Java script value
                     Regex Evaluation
                     User defined Java class




© 2009, Pentaho. All Rights Reserved.
Steps básicos (Tranformation) - LOOKUP

          Lookup
                     Web services lookup
                     Check if ws is available
                     Call DB procedure
                     Database join
                     Database lookup
                     Table exists
                     File exists
                     HTTP Post




© 2009, Pentaho. All Rights Reserved.
Interface gráfica / Demonstrações




© 2009, Pentaho. All Rights Reserved.
Links e livros

          Site da comunidade [ http://kettle.pentaho.org/ ]
          Fórum [ http://forums.pentaho.org/forumdisplay.php?f=69 ]
          Mais informação [ http://pentahobrasil.blogspot.com ]
          Mais informação [ http://blog.professorcoruja.com/ ]




© 2009, Pentaho. All Rights Reserved.
Problemas?




© 2009, Pentaho. All Rights Reserved.
Dúvidas



                                        Pedro José <pjneto@gmail.com>




© 2009, Pentaho. All Rights Reserved.

Pentaho data integration

  • 1.
    Pentaho Data Integration Pedro José © 2009, Pentaho. All Rights Reserved.
  • 2.
    Quem sou Pedro José Técnico em desenvolvimento de sistemas Graduando em ciências da computação Sócio da empresa Moobi Programador do Tribunal de Justiça © 2009, Pentaho. All Rights Reserved.
  • 3.
    Roteiro O que é ETL? Algumas ferramentas para ETL Por que usar o pentaho? Um pouco mais sobre o pentaho Desmistificando o pentaho data integration Interface gráfica Demonstração Problemas? © 2009, Pentaho. All Rights Reserved.
  • 4.
    O que éETL? “Extração, transformação e carga(ETL), é o núcleo do processo de integração de dados. É tipicamente associado com data warehousing.” © 2009, Pentaho. All Rights Reserved.
  • 5.
    Ferramentas de ETL Integration services(Microsoft) Talend Oracle warehouse builder DataStage (IBM) Pentaho Data Integration Programador/DBA © 2009, Pentaho. All Rights Reserved.
  • 6.
    Por que usaro PDI? Alternativa livre Multiplataforma Pequena curva de aprendizado Extensível Integrada com diversas outras ferramentas do mercado Access Excel LDAP SAP Salesforce Json, Yaml, RSS, etc... © 2009, Pentaho. All Rights Reserved.
  • 7.
    Por que comeceia usar o PDI? Treinamento Suíte Pentaho Dores de cabeça de todo programador Migração entre servidores Migração entre diferentes versões de sistema Rotinas de carga em bases de dados © 2009, Pentaho. All Rights Reserved.
  • 8.
    Um pouco maissobre o PDI Inicialmente chamado de Kettle(Kettle Tranformation Transportation Loading Environment) Criada em 2001 a partir da frustação com outras ferramentas de ETL, com foco na facilidade de utilização e na facilidade de manutenção Em 2005 tornou-se open source ganhando colaboradores Adquirida pela Pentaho em 2006 “Boom” em 2007. Adição de novos recursos, suporte a processamento paralelo e diversos outros recursos para programadores © 2009, Pentaho. All Rights Reserved.
  • 9.
    Componentes do PDI Spoon – interface gráfica para criação de tranformations e jobs Pan – ferramenta de linha de comando para execução de tranformations Kitchen – ferramenta de linha de comando para execução de jobs Carte – servidor web para execução remota de tranformations e jobs © 2009, Pentaho. All Rights Reserved.
  • 10.
    Instalação Instale o Java Runtime Environment(JRE) versão 5.0 ou superior http://www.java.com/pt_BR/download/ Faça o download da versão comunitária do PDI http://sourceforge.net/projects/pentaho/files/Data%20Integration/ Descompacte o arquivo do PDI Execute o Spoon caso windows => spoon.bat caso linux => spoon.sh OBS: Alguns bancos de dados não possuem seus respectivos drivers no pacote básico. Caso queria adicionar um driver que esteja faltando ou substituir um existente, acesse a pasta “libextJDBC” © 2009, Pentaho. All Rights Reserved.
  • 11.
    Conceitos básicos Tranformations - Sequência lógica de passos para realizar alguma tranformação. © 2009, Pentaho. All Rights Reserved.
  • 12.
    Conceitos básicos Jobs - Forma de chamar e controlar a execução de uma sequência de tranformations. Geralmente, jobs são agendados e executados em lote de forma automática. © 2009, Pentaho. All Rights Reserved.
  • 13.
    Conceitos básicos Repositórios Local onde as informações sobre as tranformations/jobs ficarão armazenadas. Steps Corresponde a um passo de uma determinada transformação. Este passo poderá ser a criação, leitura, escrita ou manipulação de alguma informação. Uma transformation é composta de um ou mais steps. © 2009, Pentaho. All Rights Reserved.
  • 14.
    Tipos de step(Tranformation) Input – entrada de dados Output – saída de dados Tranform – transformações nos dados Flow – fluxo da informações Utility – utilitários Scripting – execução de scripts Lookup – consulta de dados Joins – junções entre fontes Validation – validação Data warehouse – armazém de dados © 2009, Pentaho. All Rights Reserved.
  • 15.
    Steps básicos (Tranformation)- INPUT Input Access input CSV input Excel input Generate random values Generate rows Json input LDAP input RSS input Table input © 2009, Pentaho. All Rights Reserved.
  • 16.
    Steps básicos (Tranformation)- OUTPUT Output Access output Delete Excel output Json output LDAP output RSS output Table output SQL output XML output © 2009, Pentaho. All Rights Reserved.
  • 17.
    Steps básicos (Tranformation)- TRANSFORM •Tranform Add constants Replace in string Unique rows Value mapper Split fields Add sequence Strings cut Calculator © 2009, Pentaho. All Rights Reserved.
  • 18.
    Steps básicos (Tranformation)- UTILITY Utility Change file encoding Run SSH commands Write to log Execute a process Send message to syslog Mail © 2009, Pentaho. All Rights Reserved.
  • 19.
    Steps básicos (Tranformation)- FLOW Flow Blocking step Filter rows Abort Dummy (do nothing) Java filter Switch / case © 2009, Pentaho. All Rights Reserved.
  • 20.
    Steps básicos (Tranformation)- SCRIPTING Scripting Execute SQL script Execute row SQL script Modified Java script value Regex Evaluation User defined Java class © 2009, Pentaho. All Rights Reserved.
  • 21.
    Steps básicos (Tranformation)- LOOKUP Lookup Web services lookup Check if ws is available Call DB procedure Database join Database lookup Table exists File exists HTTP Post © 2009, Pentaho. All Rights Reserved.
  • 22.
    Interface gráfica /Demonstrações © 2009, Pentaho. All Rights Reserved.
  • 23.
    Links e livros Site da comunidade [ http://kettle.pentaho.org/ ] Fórum [ http://forums.pentaho.org/forumdisplay.php?f=69 ] Mais informação [ http://pentahobrasil.blogspot.com ] Mais informação [ http://blog.professorcoruja.com/ ] © 2009, Pentaho. All Rights Reserved.
  • 24.
    Problemas? © 2009, Pentaho.All Rights Reserved.
  • 25.
    Dúvidas Pedro José <pjneto@gmail.com> © 2009, Pentaho. All Rights Reserved.