CIn/UFPE – Integração de Dados e Data Warehouse Ferramentas de ETL Por: Ellison Siqueira (erms) 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) 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 CIn/UFPE – Integração de Dados e Data Warehouse Modelo Northwind CIn/UFPE – Integração de Dados e Data Warehouse Modelo Estrela Vendas CIn/UFPE – Integração de Dados e Data Warehouse Modelo Estrela Estoque 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. 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 CIn/UFPE – Integração de Dados e Data Warehouse Ferramentas ETL Microsoft DTS 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. CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Criar um novo pacote e inserir as conexões CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Conexões Acces e SQL Server CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Criação das transformações CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Criação das transformações CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Criação das transformações CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Auxílio na seleção dos dados na fonte CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Criação das transformações • Tipos de Transformações CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Transformação ActiveX Script CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Transformação ActiveX Script CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Transformação ActiveX Script 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 CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Criação das transformações - salvar Pacote CIn/UFPE – Integração de Dados e Data Warehouse Microsoft DTS • Este Slide também Criação das transformações possui comentários com instruções SQL Repetir o mesmo para os Fatos e Scripts ActiveX • Vendas • Estoque 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. 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 CIn/UFPE – Integração de Dados e Data Warehouse Ferramentas ETL Kettle http://kettle.pentaho.org/ CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Ferramentas Spoon Pan Chef Kitchen CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Welcome to Spoon CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Spoon CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Mais opções ao usuário CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Transformações Primeiro é necessário criar conexões ODBC para as bases de dados de entrada e saída CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Assistente para conexão - Access CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Assistente para conexão - Access CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Assistente para conexão – SQL Server CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Assistente para conexão – SQL Server CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Conexões criadas e Transformação salva CIn/UFPE – Integração de Dados e Data Warehouse Kettle • ETL Mini Dimensões CIn/UFPE – Integração de Dados e Data Warehouse Kettle • ETL Dimensões 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 CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Input Table Informar a conexão • Script SQL para Dimensões Cliente Fornecedor Funcionário Transportadora Produto Tempo Este Slide possui os scripts SQL em comentários CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Select Values CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Criar Relação entre componentes CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Insert/Update CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Java Script Value • Script Java Script para Nome + Sobrenome Status Produto Manipula Datas CIn/UFPE – Integração de Dados e Data Warehouse Este slide contém os scripts dentro de comentários Kettle • Calculator CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Database Join Script Join Localização 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 CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Criação do Job de automação CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Componentes Job Start Transformation • Devem ser criadas as relações entre os componentes CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Start CIn/UFPE – Integração de Dados e Data Warehouse Kettle • Transformation CIn/UFPE – Integração de Dados e Data Warehouse Ferramentas ETL Dúvidas CIn/UFPE – Integração de Dados e Data Warehouse CIn/UFPE – Integração de Dados e Data Warehouse