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)
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
• 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
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
• 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
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
Este slide contém os scripts
dentro de comentários
CIn/UFPE – Integração de Dados e Data Warehouse
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