0
1
Jarley Nóbrega – jpn@cin.ufpe.br
PentahoDataIntegration
Dezembro de 2009
Agenda
Trabalhando com Banco de Dados
O Modelo de Dados daWCM
Desenvolvendo e Implementando um Datamart
Automação do Proce...
Trabalhandocombancodedados
 Como acessar um banco de dados no PDI
 Criando uma conexão para uma transformação
Janeiro de...
Trabalhandocombancodedados
 Como acessar um banco de dados no PDI
 Criando uma conexão para uma transformação
Janeiro de...
Trabalhandocombancodedados
 Como acessar um banco de dados no PDI
 Compartilhando uma conexão com todas as
transformaçõe...
Trabalhandocombancodedados
Principais steps para
leitura, armazenamento,
atualização e remoção de
registros
 Categoria In...
Trabalhandocombancodedados
Configuração básica
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
 Table Input
Trabalhandocombancodedados
Configuração básica
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
 Table output
Trabalhandocombancodedados
Principais steps para
leitura, armazenamento,
atualização e remoção de
registros
 Categoria Sc...
Trabalhandocombancodedados
Configuração básica
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
 Database lo...
Exercícios20e21
 Criando um esquema de banco de dados
 Criando tabelas
 Carregando dados nas tabelas através de uma
tra...
WorldClassMovies
O Negócio da WCM  Venda e locação de
filmes pelaWeb
 Concorrentes
 Amazon.com
 Netflix.com
Janeiro de...
WorldClassMovies
Processos de negócios
integrados
Gerenciamento
dos pedidos
dos clientes
Reposição do
estoque de
filmes
Ja...
FluxodoProcessodaWCM
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Transação de venda
ou locação
Centros d...
AquisiçãoeGeraçãodeDados
Fontes de
dados públicos
U.S. Census
Fake Name
Generator
Home
Theather Info
E-Stats
Janeiro de 20...
WorldClassMovies
 Principais papéis
 Clientes, Produtos e Pedidos;
 Dois tipos de pedidos:
 Ordens de compra e pedidos...
ModelodeDados
Dezembro de 2009WIN – I Workshop de Inovação
QuestionamentosdoNegócio
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Departamento Questionamentos
Finanç...
QuestionamentosdoNegócio
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Departamento Questionamentos
Logíst...
QuestionamentosdoNegócio
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Departamento Questionamentos
Market...
ModelagemdoNegócio
 Esquema Estrela
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
(Bouman and Dongen, 200...
ModelagemdoNegócio
Alguns conceitos para
relembrar
 Tabela de fatos
 Tabela de dimensões
 Convenções de nomes
 Arquite...
ModelagemdoNegócio
 Tabelas de dimensões e fatos
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
(IN1177 - ...
ModelagemdoNegócio
 Convenções de nomes de tabelas
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Prefixo ...
ModelagemdoNegócio
 Slowly Changing Dimensions (SCD)
 Tipo 1 - Overwrite
Janeiro de 2010IN1177 - Banco de Dados para Sup...
ModelagemdoNegócio
 Slowly Changing Dimensions (SCD)
 Tipo 2 – Add Row
Janeiro de 2010IN1177 - Banco de Dados para Supor...
ModelagemdoNegócio
 Slowly Changing Dimensions (SCD)
 Tipo 3 – Add Column
Janeiro de 2010IN1177 - Banco de Dados para Su...
Projetandoomodelo
 Após garantir que ...
 Requisitos de negócio estão claros e entendidos;
 As fontes de dados estão id...
ConstruindoosDatamartsdaWCM
 Duas conexões de banco no PDI
 WCM: banco de dados operacional
 WCM_DWH: data warehouse
Ja...
Projetandoomodelo
 Dimensão Customer (1ª versão)
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Projetandoomodelo
 DimensãoTime (1ª versão) - incompleta
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ModelodeDados
Dezembro de 2009WIN – I Workshop de Inovação
ModelodeDados
Dezembro de 2009WIN – I Workshop de Inovação
Carregandoumadimensão
 Dimensão Date
 Passos para carregar a dimensão
 Criar a tabela de dimensão dim_date
 Gerar uma ...
CarregandoadimensãoDate
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Carregandoumadimensão
 DimensãoTime
 Passos para carregar a dimensão
 Criar a tabela de dimensão dim_time
 Gerar as li...
CarregandoadimensãoTime
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Carregandoumadimensão
 Dimensão Demography
 Passos para carregar a dimensão
 Criar a tabela de dimensão dim_demography
...
CarregandoadimensãoDemography
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ETLemumAmbientedeProdução
 Na prática...
 A execução dos jobs e transformações não são feitas
no Spoon
 Requer muita in...
VariáveisdoAmbiente
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ExecuçãoemLinhadeComando
• Execução deTransformações em linha de
comandoPan
• Execução de Jobs em linha de comandoKitchen
...
TransformaçõesdaWCMcomoPan
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ExecuçãoRemotacomoCarte
 Qual a necessidade de execução remota?
 Escalabilidade;
 Scale-up: configuração de hardware
 ...
ExecuçãoRemotacomoCarte
 Configuração necessária
 Criar servidores de execução “escravos”
 Alterar os jobs ou transform...
ExecuçãoRemotacomoCarte
 Exemplo: dim_time_remota
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ExecuçãoRemotacomoCarte
 Exemplo: dim_time_remota
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Aula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDI
Upcoming SlideShare
Loading in...5
×

Aula 03-Tutorial ETL com PDI

9,034

Published on

3a semana do tutorial de ETL com o Pentaho Data Integration

Published in: Technology
1 Comment
7 Likes
Statistics
Notes
  • Professor, boa tarde

    Em primeiro lugar, te agradeço pelo material disponibilizado. Estou aprendendo muito sobre ETL porque você esta me ajudando a conseguir isto.

    Minha pergunta esta relacionada aos Steps, via que você explicou muito bem os processos, diagramou as entidades de relacionamento, mostrou fluxo a fluxo como deve ser pocicinado cada Step, mas eu gostaria de saber se você poderia disponibilizar a configuração de cada um dos steps que você criou. Seria possivél?

    Desde ja te agradeço!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
9,034
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
798
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Transcript of "Aula 03-Tutorial ETL com PDI"

  1. 1. 1
  2. 2. Jarley Nóbrega – jpn@cin.ufpe.br
  3. 3. PentahoDataIntegration Dezembro de 2009
  4. 4. Agenda Trabalhando com Banco de Dados O Modelo de Dados daWCM Desenvolvendo e Implementando um Datamart Automação do Processo de ETL
  5. 5. Trabalhandocombancodedados  Como acessar um banco de dados no PDI  Criando uma conexão para uma transformação Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  6. 6. Trabalhandocombancodedados  Como acessar um banco de dados no PDI  Criando uma conexão para uma transformação Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Nome/endereço do servidor Nome do esquema do banco Porta do servidor (padrão: 3306) Nome do usuário do banco senha
  7. 7. Trabalhandocombancodedados  Como acessar um banco de dados no PDI  Compartilhando uma conexão com todas as transformações e jobs Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  8. 8. Trabalhandocombancodedados Principais steps para leitura, armazenamento, atualização e remoção de registros  Categoria Input  Table input  Categoria Output  Table output  Insert / Update  Delete Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  9. 9. Trabalhandocombancodedados Configuração básica Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão  Table Input
  10. 10. Trabalhandocombancodedados Configuração básica Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão  Table output
  11. 11. Trabalhandocombancodedados Principais steps para leitura, armazenamento, atualização e remoção de registros  Categoria Scripting  Execute SQL Script  Categoria Lookup  Database join  Database lookup  Check if a column exists Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  12. 12. Trabalhandocombancodedados Configuração básica Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão  Database lookup
  13. 13. Exercícios20e21  Criando um esquema de banco de dados  Criando tabelas  Carregando dados nas tabelas através de uma transformação Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  14. 14. WorldClassMovies O Negócio da WCM  Venda e locação de filmes pelaWeb  Concorrentes  Amazon.com  Netflix.com Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  15. 15. WorldClassMovies Processos de negócios integrados Gerenciamento dos pedidos dos clientes Reposição do estoque de filmes Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  16. 16. FluxodoProcessodaWCM Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Transação de venda ou locação Centros de distribuição Estoque de produtos
  17. 17. AquisiçãoeGeraçãodeDados Fontes de dados públicos U.S. Census Fake Name Generator Home Theather Info E-Stats Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  18. 18. WorldClassMovies  Principais papéis  Clientes, Produtos e Pedidos;  Dois tipos de pedidos:  Ordens de compra e pedidos de clientes  Outras entidades:  Centros de distribuição;  Empregados;  Clientes;  Distribuidores.  Pedidos gerados pelo site  Podem ter uma promoção associada Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  19. 19. ModelodeDados Dezembro de 2009WIN – I Workshop de Inovação
  20. 20. QuestionamentosdoNegócio Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Departamento Questionamentos Finanças e Vendas Qual o tempo de vendas por região, mês e categoria de filmes? Que categoria de filmes gerou o maior volume de vendas de forma constante no tempo? Qual é o nosso desempenho comparado com o mercado de entretenimento como um todo? Nós estamos crescendo mais rapidamente ou mais lentamente que os nossos principais competidores
  21. 21. QuestionamentosdoNegócio Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Departamento Questionamentos Logística Qual o desempenho dos nossos distribuidores em termos de variedade de produtos, preço e prazo de entrega? Como nós podemos aperfeiçoar os nossos custos de distribuição?
  22. 22. QuestionamentosdoNegócio Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Departamento Questionamentos Marketing e Desenvolvimento de Produtos Qual o tempo médio de relacionamento dos nossos 100 principais clientes comparados com os 100 menores? Como nós podemos segmentar os nossos clientes baseados na análise RFM (recency, frequency, monetary)? Nós temos dados dos clientes que podem ser usados para prever lucros ou prejuízos futuros? Como nós podemos rastrear o ciclo de vida de um produto em determinados canais de venda? Quais lançamentos de DVD geram maior valor de revenda baseado nas características do produto, como ator, diretor ou gênero do filme?
  23. 23. ModelagemdoNegócio  Esquema Estrela Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão (Bouman and Dongen, 2009)
  24. 24. ModelagemdoNegócio Alguns conceitos para relembrar  Tabela de fatos  Tabela de dimensões  Convenções de nomes  Arquitetura em barramento  Surrogate keys (chaves artificiais)  Colunas de auditoria  SCD tipos 1, 2, 3, 4, 5 e 6 Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  25. 25. ModelagemdoNegócio  Tabelas de dimensões e fatos Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão (IN1177 - Fidalgo, 2009)
  26. 26. ModelagemdoNegócio  Convenções de nomes de tabelas Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Prefixo Tabelas STG_ Staging HIS_ Arquivos históricos DIM_ Dimensões FCT_ Fatos AGG_ Agregações LKP_ Lookup
  27. 27. ModelagemdoNegócio  Slowly Changing Dimensions (SCD)  Tipo 1 - Overwrite Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão (Bouman and Dongen, 2009)
  28. 28. ModelagemdoNegócio  Slowly Changing Dimensions (SCD)  Tipo 2 – Add Row Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão (Bouman and Dongen, 2009)
  29. 29. ModelagemdoNegócio  Slowly Changing Dimensions (SCD)  Tipo 3 – Add Column Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão (Bouman and Dongen, 2009)
  30. 30. Projetandoomodelo  Após garantir que ...  Requisitos de negócio estão claros e entendidos;  As fontes de dados estão identificadas;  O conteúdo e a qualidade das fontes de dados foram identificados;  Nosso modelo inicial Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  31. 31. ConstruindoosDatamartsdaWCM  Duas conexões de banco no PDI  WCM: banco de dados operacional  WCM_DWH: data warehouse Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  32. 32. Projetandoomodelo  Dimensão Customer (1ª versão) Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  33. 33. Projetandoomodelo  DimensãoTime (1ª versão) - incompleta Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  34. 34. ModelodeDados Dezembro de 2009WIN – I Workshop de Inovação
  35. 35. ModelodeDados Dezembro de 2009WIN – I Workshop de Inovação
  36. 36. Carregandoumadimensão  Dimensão Date  Passos para carregar a dimensão  Criar a tabela de dimensão dim_date  Gerar uma linha para datas inválidas  Gerar uma linha por dia no calendário  Gerar uma sequência para os dias no calendário  Adicionar a sequência à data inicial e formatando as datas seguintes  Mapear dados numéricos ao texto gravado na tabela (is_first_day_in_month, is_weekend, etc.)  Carregar a tabela dim_date Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  37. 37. CarregandoadimensãoDate Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  38. 38. Carregandoumadimensão  DimensãoTime  Passos para carregar a dimensão  Criar a tabela de dimensão dim_time  Gerar as linhas das 24 horas e dos 60 minutos  Criar a sequência de horas e minutos  Fazer o produto cartesiano das linhas de horas e minutos  Fazer o parsing da hora/minuto em um campo do tipo Date  Carregar a tabela de dimensão dim_time Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  39. 39. CarregandoadimensãoTime Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  40. 40. Carregandoumadimensão  Dimensão Demography  Passos para carregar a dimensão  Criar a tabela de dimensão dim_demography  Criar uma área de staging para fazer lookup com as tabelas banco operacional  Criar os dados de gênero, faixas de idade e renda mensal (inclui as surrogates de cada tabela)  Mapear os dados de gênero em Masculino e Feminino  Criar as faixas de idade e renda, combinando os dados através do produto cartesiano  Gerar as surrogates da tabela dim_demography  Criar uma linha para dados inválidos  Carregar os dados na tabela dim_demography Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  41. 41. CarregandoadimensãoDemography Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  42. 42. ETLemumAmbientedeProdução  Na prática...  A execução dos jobs e transformações não são feitas no Spoon  Requer muita intervenção “humana”  Distribuição e monitoramento do processo de ETL  Configuração de ambiente;  Coleta e análise de métricas da execução;  Notificação da execução. Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  43. 43. VariáveisdoAmbiente Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  44. 44. ExecuçãoemLinhadeComando • Execução deTransformações em linha de comandoPan • Execução de Jobs em linha de comandoKitchen • Servidor para execução remotaCarte Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  45. 45. TransformaçõesdaWCMcomoPan Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  46. 46. ExecuçãoRemotacomoCarte  Qual a necessidade de execução remota?  Escalabilidade;  Scale-up: configuração de hardware  Scale-out: clustering  Disponibilidade;  Redução de tráfego e latência da rede. Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  47. 47. ExecuçãoRemotacomoCarte  Configuração necessária  Criar servidores de execução “escravos”  Alterar os jobs ou transformações para rodar remotamente Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  48. 48. ExecuçãoRemotacomoCarte  Exemplo: dim_time_remota Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  49. 49. ExecuçãoRemotacomoCarte  Exemplo: dim_time_remota Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  50. 50. Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×