Este documento discute o Pentaho Data Integration (PDI), uma ferramenta open source para integração e migração de dados (ETL). O PDI pode ser usado para migração de dados entre sistemas, exportação de dados para arquivos de texto e carregamento massivo em bancos de dados. Ele possui recursos como processamento paralelo, escalabilidade e diversidade de conectores que o tornam mais adequado do que desenvolver ETL manualmente.
Boas práticas de programação com Object Calisthenics
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
●
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
4. 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.
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 )
7. Desafios ETL
● Gama de 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
16. 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.
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.
18.
19. 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
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