cin/ufpe – integração de dados e data warehouse

55
CIn/UFPE – Integração de Dados e Data Warehouse

Upload: larissa-sousa

Post on 07-Apr-2016

261 views

Category:

Documents


31 download

TRANSCRIPT

Page 1: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Page 2: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Ferramentas de ETL

Por:Ellison Siqueira (erms)

Page 3: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Ferramentas de ETL

• Fonte dos dados: Banco de Dados de Exemplo do MS Acess Formato:

• Access (.mdb) Nome do Banco

• Northwind Descrição da base

• A base contém dados fictícios de uma empresa onde são registradas informações sobre vendas e estoque de produtos.

• Ferramentas DTS (Microsoft) – Data Transformation Services Kettle (Pentaho)

Page 4: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Ferramentas de ETL

• Destino dos Dados: DW em MS SQL Server Nome do Banco

• DWNorthwind Descrição

• Base de dados no modelo estrela. Os assuntos do modelo são Vendas e Estoque

• Objetivos Extrair os dados da base Access, aplicar transformações e

carregá-las no banco SQL Server

Page 5: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Modelo Northwind

Page 6: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Modelo Estrela Vendas

Page 7: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Modelo Estrela Estoque

Page 8: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Modelos SQL

• Este Slide possui um comentário que contém o Script de criação da base de dados do DW.

Ellison Siqueira
CREATE TABLE [dbo].[dim_clientes] ([CódigoDoCliente] [nvarchar] (5) COLLATE Latin1_General_CI_AS NOT NULL ,[CódigoLocalizacao] [int] NULL ,[NomeDaEmpresa] [nvarchar] (40) COLLATE Latin1_General_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[dim_fornecedor] ([CódigoDoFornecedor] [int] NOT NULL ,[NomeDaEmpresa] [nvarchar] (40) COLLATE Latin1_General_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[dim_funcionario] ([CódigoDoFuncionário] [int] NOT NULL ,[Nome] [nvarchar] (30) COLLATE Latin1_General_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[dim_mini_cliente] ([CódigoLocalizacao] [int] IDENTITY (1, 1) NOT NULL ,[País] [nvarchar] (15) COLLATE Latin1_General_CI_AS NULL ,[Cidade] [nvarchar] (15) COLLATE Latin1_General_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[dim_produtos] ([CódigoDoProduto] [int] NOT NULL ,[StatusProduto] [nvarchar] (50) COLLATE Latin1_General_CI_AS NULL ,[NomeDaCategoria] [nvarchar] (15) COLLATE Latin1_General_CI_AS NULL ,[NomeDoProduto] [nvarchar] (40) COLLATE Latin1_General_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[dim_tempo] ([Data] [datetime] NOT NULL ,[Ano] [numeric](18, 0) NULL ,[Semestre] [varchar] (20) COLLATE Latin1_General_CI_AS NULL ,[Mes] [varchar] (20) COLLATE Latin1_General_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[dim_transportadoras] ([CódigoDaTransportadora] [int] NOT NULL ,[NomeDaEmpresa] [nvarchar] (40) COLLATE Latin1_General_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[fato_estoque] ([CódigoDoProduto] [int] NOT NULL ,[CódigoDoFornecedor] [int] NOT NULL ,[PreçoUnitário] [money] NULL ,[UnidadesEmEstoque] [smallint] NULL ,[ValorEstoque] [money] NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[fato_vendas] ([NúmeroDoPedido] [int] NOT NULL ,[CódigoDoProduto] [int] NOT NULL ,[CódigoDoCliente] [nvarchar] (5) COLLATE Latin1_General_CI_AS NOT NULL ,[CódigoLocalizacao] [int] NOT NULL ,[CódigoDoFuncionário] [int] NOT NULL ,[CódigoDoFornecedor] [int] NOT NULL ,[CódigoDaTransportadora] [int] NOT NULL ,[DataDoPedido] [datetime] NULL ,[DataDeEntrega] [datetime] NULL ,[DataDeEnvio] [datetime] NULL ,[Frete] [money] NULL ,[PreçoUnitVenda] [money] NULL ,[Quantidade] [smallint] NULL ,[Desconto] [real] NULL ,[PreçoUnitCompra] [money] NULL ) ON [PRIMARY]GOALTER TABLE [dbo].[dim_clientes] WITH NOCHECK ADD CONSTRAINT [PK_dim_clientes] PRIMARY KEY CLUSTERED ([CódigoDoCliente]) ON [PRIMARY] GOALTER TABLE [dbo].[dim_fornecedor] WITH NOCHECK ADD CONSTRAINT [PK_dim_fornecedor] PRIMARY KEY CLUSTERED ([CódigoDoFornecedor]) ON [PRIMARY] GOALTER TABLE [dbo].[dim_funcionario] WITH NOCHECK ADD CONSTRAINT [PK_dim_funcionario] PRIMARY KEY CLUSTERED ([CódigoDoFuncionário]) ON [PRIMARY] GOALTER TABLE [dbo].[dim_mini_cliente] WITH NOCHECK ADD CONSTRAINT [PK_dim_mini_cliente] PRIMARY KEY CLUSTERED ([CódigoLocalizacao]) ON [PRIMARY] GOALTER TABLE [dbo].[dim_produtos] WITH NOCHECK ADD CONSTRAINT [PK_dim_produtos] PRIMARY KEY CLUSTERED ([CódigoDoProduto]) ON [PRIMARY] GOALTER TABLE [dbo].[dim_tempo] WITH NOCHECK ADD CONSTRAINT [PK_dim_tempo] PRIMARY KEY CLUSTERED ([Data]) ON [PRIMARY] GOALTER TABLE [dbo].[dim_transportadoras] WITH NOCHECK ADD CONSTRAINT [PK_dim_transportadoras] PRIMARY KEY CLUSTERED ([CódigoDaTransportadora]) ON [PRIMARY] GOALTER TABLE [dbo].[fato_estoque] WITH NOCHECK ADD CONSTRAINT [PK_fato_estoque] PRIMARY KEY CLUSTERED ([CódigoDoProduto],[CódigoDoFornecedor]) ON [PRIMARY] GOALTER TABLE [dbo].[fato_vendas] WITH NOCHECK ADD CONSTRAINT [PK_fato_vendas] PRIMARY KEY CLUSTERED ([NúmeroDoPedido],[CódigoDoProduto],[CódigoDoCliente],[CódigoLocalizacao],[CódigoDoFuncionário],[CódigoDoFornecedor],[CódigoDaTransportadora]) ON [PRIMARY] GOALTER TABLE [dbo].[dim_clientes] ADD CONSTRAINT [FK_dim_clientes_dim_mini_cliente] FOREIGN KEY ([CódigoLocalizacao]) REFERENCES [dbo].[dim_mini_cliente] ([CódigoLocalizacao])GOALTER TABLE [dbo].[fato_estoque] ADD CONSTRAINT [FK_fato_estoque_dim_fornecedor] FOREIGN KEY ([CódigoDoFornecedor]) REFERENCES [dbo].[dim_fornecedor] ([CódigoDoFornecedor]),CONSTRAINT [FK_fato_estoque_dim_produtos] FOREIGN KEY ([CódigoDoProduto]) REFERENCES [dbo].[dim_produtos] ([CódigoDoProduto])GOALTER TABLE [dbo].[fato_vendas] ADD CONSTRAINT [FK_fato_vendas_dim_clientes] FOREIGN KEY ([CódigoDoCliente]) REFERENCES [dbo].[dim_clientes] ([CódigoDoCliente]),CONSTRAINT [FK_fato_vendas_dim_fornecedor] FOREIGN KEY ([CódigoDoFornecedor]) REFERENCES [dbo].[dim_fornecedor] ([CódigoDoFornecedor]),CONSTRAINT [FK_fato_vendas_dim_funcionario] FOREIGN KEY ([CódigoDoFuncionário]) REFERENCES [dbo].[dim_funcionario] ([CódigoDoFuncionário]),CONSTRAINT [FK_fato_vendas_dim_mini_cliente] FOREIGN KEY ([CódigoLocalizacao]) REFERENCES [dbo].[dim_mini_cliente] ([CódigoLocalizacao]),CONSTRAINT [FK_fato_vendas_dim_produtos] FOREIGN KEY ([CódigoDoProduto]) REFERENCES [dbo].[dim_produtos] ([CódigoDoProduto]),CONSTRAINT [FK_fato_vendas_dim_tempo] FOREIGN KEY ([DataDoPedido]) REFERENCES [dbo].[dim_tempo] ([Data]),CONSTRAINT [FK_fato_vendas_dim_tempo1] FOREIGN KEY ([DataDeEntrega]) REFERENCES [dbo].[dim_tempo] ([Data]),CONSTRAINT [FK_fato_vendas_dim_tempo2] FOREIGN KEY ([DataDeEnvio]) REFERENCES [dbo].[dim_tempo] ([Data]),CONSTRAINT [FK_fato_vendas_dim_transportadoras] FOREIGN KEY ([CódigoDaTransportadora]) REFERENCES [dbo].[dim_transportadoras] ([CódigoDaTransportadora])GO
Page 9: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Ferramentas ETL

• Considerações A validação de chaves do banco de dados do DW não será

desativada Assim, o processo primeiro deve ser aplicado as

Dimensões e, depois, aos Fatos

Page 10: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Ferramentas ETL

Microsoft DTS

Page 11: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• É disponibilizado através do SQL Server Enterprise Manager

• Exige a “presença” de um servidor SQL Server ativo, mesmo que o Processo de ETL não envolva bases SQL Server

• A Ferramenta aplica o conceito de pacotes. Atividades do processo de ETL são agrupadas nestes pacotes.

Page 12: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

Page 13: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criar um novo pacote e inserir as conexões

Page 14: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Conexões Acces e SQL Server

Page 15: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criação das transformações

Page 16: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criação das transformações

Page 17: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criação das transformações

Page 18: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Auxílio na seleção dos dados na fonte

Page 19: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criação das transformações

• Tipos de Transformações

Page 20: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Transformação ActiveX Script

Page 21: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Transformação ActiveX Script

Page 22: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Transformação ActiveX Script

Page 23: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Transformações - Dimensões Clientes Fornecedores Funcionários Transportadoras Produtos Tempo

Obs: Este Slide contém comentários com os comandos SQL de seleção das fontes e os scripts ActiveX das dimensões, quando o script for necessário

Ellison Siqueira
SELECT CódigoDoCliente , NomeDaEmpresa, Cidade, PaísFROM Clientes
Ellison Siqueira
SELECT CódigoDoFornecedor, NomeDaEmpresaFROM Fornecedores
Ellison Siqueira
SELECT CódigoDoFuncionário, Nome, SobrenomeFROM Funcionários
Ellison Siqueira
'**********************************************************************' Visual Basic Transformation Script'************************************************************************' Copy each source column to the destination columnFunction Main()DTSDestination("Nome") = DTSSource("Nome") + " " + DTSSource("Sobrenome")Main = DTSTransformStat_OKEnd Function
Ellison Siqueira
SELECT CódigoDaTransportadora, NomeDaEmpresaFROM Transportadoras
Ellison Siqueira
SELECT P.CódigoDoProduto, P.Descontinuado, C.NomeDaCategoria, P.NomeDoProdutoFROM Produtos P INNER JOIN Categorias C ON P.CódigoDaCategoria = C.CódigoDaCategoria
Ellison Siqueira
'**********************************************************************' Visual Basic Transformation Script'************************************************************************' Copy each source column to the destination columnFunction Main()If DTSSource("Descontinuado").value = true thenDTSDestination("StatusProduto") = "Inativo"ElseDTSDestination("StatusProduto") = "Ativo"End IfMain = DTSTransformStat_OKEnd Function
Ellison Siqueira
select p.datadopedido as datafrom pedidos pwhere p.datadopedido is not nullunionselect p.datadeenvio as datafrom pedidos pwhere p.datadeenvio is not nullunionselect p.datadeentrega as datafrom pedidos pwhere p.datadeentrega is not null
Ellison Siqueira
'**********************************************************************' Visual Basic Transformation Script'************************************************************************' Copy each source column to the destination columnFunction Main()DTSDestination("Data") = DTSSource("data")DTSDestination("Ano") = Year(DTSSource("data"))DTSDestination("Mes") = Month(DTSSource("data"))if (Month(DTSSource("data")) <= 6) thenDTSDestination("Semestre") = "1º Semestre"elseDTSDestination("Semestre") = "2º Semestre"end ifMain = DTSTransformStat_OKEnd Function
Page 24: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criação das transformações - salvar Pacote

Page 25: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criação das transformações Repetir o mesmo para os Fatos

• Vendas• Estoque

Este Slide também possui comentários com instruções SQL

e Scripts ActiveX

Ellison Siqueira
SELECT [Detalhes do Pedido].NúmeroDoPedido, [Detalhes do Pedido].CódigoDoProduto, Pedidos.CódigoDoCliente, Pedidos.CódigoDoFuncionário, Produtos.CódigoDoFornecedor, Transportadoras.CódigoDaTransportadora, Pedidos.DataDoPedido, Pedidos.DataDeEntrega, Pedidos.DataDeEnvio, Pedidos.Frete, [Detalhes do Pedido].PreçoUnitário as PreçoUnitVenda, [Detalhes do Pedido].Quantidade, [Detalhes do Pedido].Desconto, Produtos.PreçoUnitário as PreçoUnitCompraFROM Transportadoras INNER JOIN (Produtos INNER JOIN (Pedidos INNER JOIN [Detalhes do Pedido] ON Pedidos.NúmeroDoPedido = [Detalhes do Pedido].NúmeroDoPedido) ON Produtos.CódigoDoProduto = [Detalhes do Pedido].CódigoDoProduto) ON Transportadoras.CódigoDaTransportadora = Pedidos.Via;
Ellison Siqueira
SELECT Produtos.CódigoDoProduto, Produtos.CódigoDoFornecedor, Produtos.PreçoUnitário, Produtos.UnidadesEmEstoqueFROM Produtos;
Ellison Siqueira
'**********************************************************************' Visual Basic Transformation Script'************************************************************************' Copy each source column to the destination columnFunction Main()DTSDestination("ValorEstoque") = DTSSource("UnidadesEmEstoque") * DTSSource("PreçoUnitário")Main = DTSTransformStat_OKEnd Function
Page 26: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criação de Pacote para automação do processo O pacote deve

• (1) Excluir os dados do DW; • (2) Exportar os dados das tabelas de dimensão; e,• (3) Exportar os dados das tabelas de fato

É necessário• (1) A criação de uma conexão com a base SQL Server para

possibilitar apagar os dados;• (2) Um script SQL que apegue os dados;• (3) Em caso de sucesso na eliminação dos registros, chamar o

pacote de extração dos dados das dimensões; e,• (4) Em caso de sucesso na extração dos dados das tabelas de

dimensão, chamar o pacote de extração dos dados das dimensões.

Page 27: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Microsoft DTS

• Criação de Pacote para automação do processo

Aqui tem um comentário com o SQL para eliminar os dados das tabelas de

fato e dimensão

Ellison Siqueira
delete from fato_estoquedelete from fato_vendasDELETE FROM DIM_PRODUTOSDELETE FROM dim_clientesdelete from dim_transportadorasdelete from dim_fornecedordelete from dim_funcionario
Page 28: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Ferramentas ETL

Kettlehttp://kettle.pentaho.org/

Page 29: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Ferramentas Spoon Pan Chef Kitchen

Page 30: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Welcome to Spoon

Page 31: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Spoon

Page 32: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Mais opções ao usuário

Page 33: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• TransformaçõesPrimeiro é necessário criar

conexões ODBC para as bases de dados de entrada e saída

Page 34: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Assistente para conexão - Access

Page 35: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Assistente para conexão - Access

Page 36: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Assistente para conexão – SQL Server

Page 37: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Assistente para conexão – SQL Server

Page 38: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Conexões criadas e Transformação salva

Page 39: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• ETL Mini Dimensões

Page 40: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• ETL Dimensões

Page 41: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Componentes utilizados Input -> Input table Transform -> Select values Output -> Insert/Update Scripting -> Java Script Value Transform -> Calculator Join -> Database Join

Page 42: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Input Table

• Script SQL para Dimensões Cliente Fornecedor Funcionário Transportadora Produto Tempo

Informar a conexão

Este Slide possui os scripts SQL em

comentários

Ellison Siqueira
select * from clientes
Ellison Siqueira
select * from Fornecedores
Ellison Siqueira
select * from Funcionários
Ellison Siqueira
select * from transportadoras
Ellison Siqueira
select P.CódigoDoProduto, P.Descontinuado, C.NomeDaCategoria, P.NomeDoProdutoFROM Produtos P,Categorias Cwhere P.CódigoDaCategoria = C.CódigoDaCategoria
Ellison Siqueira
select p.datadopedido as datafrom pedidos pwhere p.datadopedido is not nullunionselect p.datadeenvio as datafrom pedidos pwhere p.datadeenvio is not nullunionselect p.datadeentrega as datafrom pedidos pwhere p.datadeentrega is not null
Page 43: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Select Values

Page 44: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Criar Relação entre componentes

Page 45: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Insert/Update

Page 46: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Java Script Value

• Script Java Script para Nome + Sobrenome Status Produto Manipula Datas

Este slide contém os scripts dentro de comentários

Ellison Siqueira
nome_completo = Nome.getString() + " " + Sobrenome.getString();
Ellison Siqueira
if (Descontinuado.getString() == "Y") {status_produto = "Inativo"}else{status_produto = "Ativo"}
Ellison Siqueira
if (Mes.getInteger() <= 6) {semestre = "1º Semestre"}else{semestre = "2º Semestre"}
Page 47: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Calculator

Page 48: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Database Join

Script Join Localização

Ellison Siqueira
select códigolocalizacao from dim_mini_clientewhere Cidade = ?and País = ?
Page 49: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• ETL Fatos Criar uma nova transformação (conexão e componentes)

para as tabelas de fato

• Scrits SQL Vendas Estoque

• Script Java Script ValorEstoque

Este Slide também possui os Scripts

• Scrits Join

Ellison Siqueira
SELECT [Detalhes do Pedido].NúmeroDoPedido, [Detalhes do Pedido].CódigoDoProduto, Pedidos.CódigoDoCliente, Pedidos.CódigoDoFuncionário, Produtos.CódigoDoFornecedor, Transportadoras.CódigoDaTransportadora, Pedidos.DataDoPedido, Pedidos.DataDeEntrega, Pedidos.DataDeEnvio, Pedidos.Frete, [Detalhes do Pedido].PreçoUnitário as PreçoUnitVenda, [Detalhes do Pedido].Quantidade, [Detalhes do Pedido].Desconto, Produtos.PreçoUnitário as PreçoUnitCompraFROM Transportadoras INNER JOIN (Produtos INNER JOIN (Pedidos INNER JOIN [Detalhes do Pedido] ON Pedidos.NúmeroDoPedido = [Detalhes do Pedido].NúmeroDoPedido) ON Produtos.CódigoDoProduto = [Detalhes do Pedido].CódigoDoProduto) ON Transportadoras.CódigoDaTransportadora = Pedidos.Via;
Ellison Siqueira
SELECT Produtos.CódigoDoProduto, Produtos.CódigoDoFornecedor, Produtos.PreçoUnitário, Produtos.UnidadesEmEstoqueFROM Produtos;
Ellison Siqueira
ValorEstoque = PreçoUnitário.getNumber() * UnidadesEmEstoque.getInteger();
Ellison Siqueira
select CódigoLocalizacao from dim_clienteswhere CódigoDoCliente = ?
Page 50: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Criação do Job de automação

Page 51: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Componentes Job Start Transformation

• Devem ser criadas as relações entre os componentes

Page 52: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Start

Page 53: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

Kettle

• Transformation

Page 54: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse

?Ferramentas ETL

Dúvidas

Page 55: CIn/UFPE – Integração de Dados e Data Warehouse

CIn/UFPE – Integração de Dados e Data Warehouse