Você está na página 1de 69

Tecnologias Oracle para DW

Oracle Data Integrator - ETL


Debora Marrach
Renata Miwa Tsuruda

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
2

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
3

Oracle Edies dos DBs Oracle

SE1 Standard Edition One


SE Standard Edition
EE Enterprise Edition
PE Personal Edition
XE Express Edition

Obs: Apenas a edio EE possui os atributos necessrios para


a utilizao plena de Data Warehouse.

O que se Espera de uma Ferramenta


ETL e o que o Oracle Pode Atender

Extrair dados de diversas fontes e plataformas


Alta performance e processamento distribudo
Alta escalabilidade
Compactao de dados e criptografia
Manipular todos os tipos de dados
Repositrio de metadados
Schedule / Cargas Event-Driven
5

O que se Espera de uma Ferramenta


ETL e o que o Oracle Pode Atender
Interface grfica de desenvolvimento
Arquitetura aberta
Gerao / Reengenharia de cdigos

Oracle Data Integration Suite


Cria, implanta e gerencia data warehouses
complexos
Informatiza a migrao e a movimentao dos
dados em lote
Assegura que as informaes sejam
oportunas, precisas e consistentes entre
sistemas complexos

Oracle Data Integration Suite


Produtos ETL da suite
Oracle Data Integrator (ODI)
Oracle Data Integration Enterprise Edition
Oracle Data Quality and Profiling
Oracle Changed Data Capture (CDC)

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
9

Oracle Data Integrator (ODI)


Flexibilidade
SGBD, XML, Excel e muitos outros
Tratamento para mdulos de aplicaes
comerciais existentes

Alta Performance:
E-LT Extract, Load and Transform
Changed Data Capture

10

Oracle Data Integrator (ODI)


Controle de restries e consistncia
Gerao de regras de integridade

Permite a verificao do fluxo de dados


processados pelas interfaces
Isolamento de erros e/ou reciclagem

Identifica falta de entrada de dados

11

Oracle Data Integrator (ODI)


Interoperabilidade
Suporta todos os padres Java e SOA
Hot-Plugabble (Knowledge Modules)

Produtividade
Declarative Design
Knowledge Modules

12

Oracle Arquitetura E-LT


Cdigo nativo para todos os DBs suportados
Extrai, transforma e carrega utilizando a
potncia dos prprios bancos source / target
Eficincia sem paralelo
Reduz efetivamente TCO (Total Cost of
Ownership)

13

Oracle E-LT

Extraction
Extrai e executa parte da
transformao utilizando a
engine do DB source. Em
seguida, carrega na memria
do servidor de extrao
Load
Carrega os dados j
transformados no DW
Transformation
Para cada tupla carregada, a
engine do ETL finaliza o
processo de transformao
14

Diferenciais Declarative Design e


Knowledge Modules
Ambiente virtual de desenvolvimento
Declarative Design
O que ser extrado e transformado

Knowledge Modules (Templates)


Como essas operaes devero ser realizadas face s
vrias plataformas e bancos de dados envolvidos no
processo

15

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
16

Demonstrao do Oracle Data


Integrator
Tutorial Oracle Data Integrator: Getting
Started with an ETL Project [Oracle, 2008]
Limpeza dos dados por meio de regras de
integridade
Transformao e carga de dados em um DW
usando interfaces
Automatizao do processo de ETL

17

Estudo de Caso: Administrao de


Vendas

18

Orders Application (HSQLDB)

19

Parameters (arquivo texto CSV)

20

Sales Administration (DW)

21

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
22

Inicializando o Oracle Data Integrator


Iniciar o ambiente de demonstrao
Iniciar > Programas > Oracle > Oracle Data
Integrator > Examples > Start Demo Environment

Iniciar o Designer
Iniciar > Programas > Oracle > Oracle Data
Integrator > Designer

Para fechar o ambiente


Iniciar > Programas > Oracle > Oracle Data
Integrator > Examples > Stop Demo Environment
23

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
24

Limpeza dos Dados


Verificar a consistncia dos dados das fontes
Restries de integridade
Regras de negcio

Permite analisar os erros identificados


Corrigir erros caso necessrio

25

Limpeza dos Dados


Restries do estudo de caso
Idade dos clientes deve ser maior que 21 anos
Restrio de chave estrangeira:

FK

26

Limpeza dos Dados


Criar as restries na tabela SRC_CUSTOMER:
Condio: Age > 21
Referncia: FK_SRC_CUSTOMER_SRC_CITY

Executar as restries
Verificar o relatrio de erros

27

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
28

Transformao dos Dados


Quais transformaes queremos:
Obter TRG_CUSTOMER.AGE_RANGE a partir de
SRC_AGE_GROUP.AGE_RANGE e SRC_CUSTOMER.AGE

Idade do cliente
(SRC_CUSTOMER - HSQL)
X

Faixa de idade do cliente


(TRG_CUSTOMER - HSQL)

Faixa de Idade
(SRC_SALES_PERS - txt)

29

Transformao dos Dados


Quais transformaes queremos:
Obter TRG_CUSTOMER.SALES_PERS de
SRC_SALES_PERS.FIRST_NAME e
SRC_SALES_PERS.LAST_NAME a partir de
SRC_CUSTOMER.SALES_PERS_ID
Primeiro e ltimo nome do
representante de vendas
(SRC_SALES_PERS - txt)

Nome do representante
(TRG_CUSTOMER - HSQL)

Id do representante de vendas
(SRC_CUSTOMER - HSQL)
30

Transformao dos Dados


Quais transformaes queremos:
Transformar o valor numrico (0, 1, 2) presente em
SRC_CUSTOMER.DEAR em uma das strings padro (Mr,
Mrs ou Ms) e salvar em TRG_CUSTOMER.DEAR
0, 1, 2
(SRC_CUSTOMER - HSQL)
X

Pronome de tratamento
(TRG_CUSTOMER - HSQL)

0 Mr
1 Mrs
2 Ms
31

Transformao dos Dados


Quais transformaes queremos:
Obter TRG_CUSTOMER.CUST_NAME a partir de
SRC_CURSTOMER.FIRST_NAME e
SRC_CURSTOMER.LAST_NAME

Primeiro e ltimo nome do cliente


(SRC_CUSTOMER - HSQL)

Nome do cliente
(TRG_CUSTOMER - HSQL)

32

Transformao dos Dados

33

Transformao dos Dados

34

Transformao dos Dados

35

Transformao dos Dados


Definindo os JOINS entre as fontes de dados

36

Transformao dos Dados


Definindo os JOINS entre as fontes de dados

37

Transformao dos Dados


Definindo as regras de transformao
Definir mapeamentos para os atributos em Target datastore que no
foram mapeados automaticamente.

CUST_ID: clicar em CUST_ID e arrastar


SRC_CUSTOMER.CUSTID para o campo de texto da
aba implementao.
DEAR: compor a seguinte expresso:
CASEWHEN(SRC_CUSTOMER.DEAR=0, 'MR',
CASEWHEN(SRC_CUSTOMER.DEAR=1, 'MRS',
'MS'))
38

Transformao dos Dados


Definindo as regras de transformao
CUST_NAME: Compor a seguinte expresso:
SRC_CUSTOMER.FIRST_NAME || ' ' ||
UCASE(SRC_CUSTOMER.LAST_NAME)

SALES_PERS: Compor a seguinte expresso:


SRC_SALES_PERSON.FIRST_NAME || ' ' ||
UCASE(SRC_SALES_PERSON.LAST_NAME)

39

Transformao dos Dados


Definindo as regras de transformao
CRE_DATE: Como queremos apenas que o
mapeamento funcione apenas no Insert,
desmarcar Update. Depois, compor a seguinte
expresso:
CURDATE()

UPD_DATE: Como queremos apenas que o


mapeamento funcione apenas no Update,
desmarcar Insert. Depois, compor a seguinte
expresso:
CURDATE()

40

Transformao dos Dados


Neste ponto, deveremos ter esta tabela de
mapeamento.

41

Transformao dos Dados


Escolhendo estratgias de carregamento dos dados
Na aba Flow so visualizados os passos para realizar a
transformao dos dados

42

Transformao dos Dados


Escolhendo estratgias de integrao dos dados
Clique na janela Target + Staging Area e escolha IKM
SQL Incremental Update

43

Transformao dos Dados


Escolhendo estratgias de controle dos dados
V para a aba Control

44

Transformao dos Dados


Agora estamos prontos para executar nossa
interface! Clique em Execute, salve a interface
Abra a janela Operator
. D um clique duplo em
Pop. TRG_CUSTOMER, v para a aba Execution e
verifique os nmeros.

45

Transformao dos Dados


Verificando o resultado
Verifique a tabela resultante. Na perspectiva Models,
expanda Sales Administrator HQSL, clique com o boto
direito em TRG_CUSTOMER e em Data.

46

Transformao dos Dados


Verificando erros
Vimos que ocorreram 9 erros durante a execuo da integrao de
dados. Para visualiz-los, clique com o boto direito em
TRG_CUSTOMER > Control > Errors

47

Transformao dos Dados


Corrigindo erros: alterar os valores diretamente na fonte de
dados
Por exemplo: o
cliente com Id 203
est registrado
com uma cidade
no registrada
(208), quando na
verdade a cidade
correta a com Id
107. Basta alterar
este valor e clicar
em Execute na
janela Interface.

48

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
49

Interface para a Tabela TRG_SALES


Definir juno entre
SRC_ORDERS
SRC_ORDER_LINES

50

Interface para a Tabela TRG_SALES


Regras de transformao de dados:
Somente pedidos com status = CLO (closed)
Definir filtro no atributo status:
SRC_ORDERS.STATUS = CLO

51

Interface para a Tabela TRG_SALES


Regras para transformao de dados:
FIRST_ORD_ID: menor ORDER_ID
MIN(SRC_ORDERS.ORDER_ID)

FIRST_ORD_DATE: menor data de pedido


MIN(SRC_ORDERS.ORDER_DATE)

LAST_ORD_ID: maior ORDER_ID


MAX(SRC_ORDERS.ORDER_ID)

LAST_ORD_DATE: maior data de pedido


MAX(SRC_ORDERS.ORDER_DATE)
52

Interface para a Tabela TRG_SALES


Regras para transformao de dados:
QTY: total da quantidade de produtos vendidos
SUM(SRC_ORDER_LINES.QTY)

AMOUNT: total de venda dos produtos


SUM(SRC_ORDER_LINES.AMOUNT)

PROD_AVG_PRICE: preo mdio de venda dos


produtos
AVG(SRC_ORDER_LINES.AMOUNT)

53

Interface para a Tabela TRG_SALES


Regras para transformao de dados:

54

Interface para a Tabela TRG_SALES


Configurar Knowledge Module (KM) para exportar e
carregar dados: wrapper
Aba Flow/Fluxo
Data Loading Strategy (LKM): LKM SQL to SQL

Mais informaes sobre LKM em [Oracle, 2009]

55

Interface para a Tabela TRG_SALES


Configurar KM para integrao dos dados
Aba Flow/Fluxo
Data Integration Strategy (IKM):
IKM SQL Incremental Update

Mais informaes sobre LKM em [Oracle, 2009]


56

Interface para a Tabela TRG_SALES


Configurar KM para verificao dos dados:
Aba Control/Controle
Data Control Strategy: CKM HSQL
Restries
PK_TRG_SALES
FK_SALES_CUST (chave estrangeira SRC_CUSTOMER)
FK_SALES_PROD (chave estrangeira SRC_PRODUCT)

Mais informaes sobre CKM em [Oracle, 2009]


57

Interface para a Tabela TRG_SALES


Executar interface - ver resultado e erros

58

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
59

Automatizao da Carga dos Dados no


DW
Definir o fluxo correto para a carga de dados
no DW
Usar interfaces previamente definidas
Ateno para a ordem de carga:
Dependncias de chaves estrangeiras

60

61

Automatizao da Carga dos Dados no


DW
Criar package Load Sales Administration:
Procedimento Delete Targets
Pop. TRG_COUNTRY interface
Pop. TRG_REGION interface
Pop. TRG_CITY interface
Pop. TRG_PROD_FAMILY interface
Pop. TRG_PRODUCT interface
Pop. TRG_CUSTOMER interface
Pop. TRG_SALES interface
62

Automatizao da Carga dos Dados no


DW

63

Automatizao da Carga dos Dados no


DW
Executar a carga
por meio de
comando do
Sistema
Operacional
Criar scenario

64

Automatizao da Carga dos Dados no


DW
Executar scenario do Sistema Operacional
Abrir prompt e ir para a pasta do Oracle Data Integrator,
diretrio bin
Digitar o comando:
startscen LOAD_SALES_ADMINISTRATION 001 GLOBAL "-v=2"

65

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
66

Concluso
Processo ETL no Oracle Data Integrator
Limpeza dos dados
Constraints

Extrao e Transformao dos dados


Interfaces

Automatizao da carga de dados


Packages e scenarios

67

Agenda

Oracle
Oracle Data Integrator (ODI)
Estudo de Caso
Inicializando o ODI
Limpeza dos Dados
Transformao dos Dados
Interface de Integrao dos Dados
Automatizao
Concluso
Referncias
68

Referncias
[Oracle, 2008]: Oracle Data Integrator: Getting Started with an
ETL Project. Disponvel em
<http://download.oracle.com/docs/cd/E15985_01/doc.10136
/getstart/GSETL.pdf>. Acesso em 21 set. 2010.
*Oracle, 2009+: Oracle Data Integrator Users Guide, 10g
Release 3 (10.1.3). Disponvel em
<http://download.oracle.com/docs/cd/E15985_01/doc.10136
/user/ODICU.pdf>. Acesso em 21 set. 2010.

69

Você também pode gostar