Aula 03-Tutorial ETL com PDI

11,151 views

Published on

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

Published in: Technology
2 Comments
16 Likes
Statistics
Notes
  • Olá Jarley, seria possível compartilhar o script que você usou para gerar a DIM_DATE ? Obrigado.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 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
11,151
On SlideShare
0
From Embeds
0
Number of Embeds
2,563
Actions
Shares
0
Downloads
1,081
Comments
2
Likes
16
Embeds 0
No embeds

No notes for slide

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

×