Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Pentaho Data Integration (Kettle) ETL e Integração de Dados
1. Pentaho Data Integration (Kettle)
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
3. 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.
4. 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. Desafios ETL
● Gama de valores e qualidade de dados
● Escalabilidade
● Volume de dados
7. 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..
8. 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.
● 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.
9. 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
10. Ferramentas de ETL
Proprietárias
● Oracle Warehouse Builder (OWB)
● IBM Information Server (Data Stage)
● Integration Services (SSIS)
● Power Center (antigo Power Mart)
Open Source
● Talend
● Pentaho Data Integration ( Kettle )
●
15. 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.
16. 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.
17.
18. 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
19. 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