Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2
Agenda
Oracle
Oracle
Data
Integrator
(ODI)
Estudo
de
Caso
Inicializando
o
ODI
Limpeza
dos
Dados
Transformao
dos
Dados
Interface
de
Integrao
dos
Dados
Automa?zao
Concluso
Referncias
3
Oracle
Edies
dos
DBs
Oracle
SE1
Standard
Edi?on
One
SE
Standard
Edi?on
EE
Enterprise
Edi?on
PE
Personal
Edi?on
XE
Express
Edi?on
4
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
criptograa
Manipular
todos
os
?pos
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
grca
de
desenvolvimento
Arquitetura
aberta
Gerao
/
Reengenharia
de
cdigos
6
Oracle
Data
Integra?on
Suite
Cria,
implanta
e
gerencia
data
warehouses
complexos
Informa?zar
a
migrao
e
a
movimentao
dos
dados
em
lote
Assegura
que
as
informaes
sejam
oportunas,
precisas
e
consistentes
entre
sistemas
complexos
7
Oracle
Data
Integra?on
Suite
Produtos
ETL
da
suite
Oracle
Data
Integrator
(ODI)
Oracle
Data
Integra?on
Enterprise
Edi?on
Oracle
Data
Quality
and
Proling
Oracle
Changed
Data
Capture
(CDC)
8
Agenda
Oracle
Oracle
Data
Integrator
(ODI)
Estudo
de
Caso
Inicializando
o
ODI
Limpeza
dos
Dados
Transformao
dos
Dados
Interface
de
Integrao
dos
Dados
Automa?zao
Concluso
Referncias
9
Oracle
Data
Integrator
(ODI)
Flexibilidade
SGBD,
XML,
File,
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
vericao
do
uxo
de
dados
processados
pelas
interfaces
Isolamento
de
erros
e/ou
reciclagem
Iden?ca
falta
de
entrada
de
dados
11
Oracle
Data
Integrator
(ODI)
Interoperabilidade
Suporta
todos
os
padres
Java
e
SOA
Hot-Plugabble
(Knowledge
Modules)
Produ?vidade
Declara?ve
Design
Knowledge
Modules
12
Oracle
Arquitetura
E-LT
Cdigo
na?vo
para
todos
os
DBs
suportados
Extrai,
transforma
e
carrega
u?lizando
a
potncia
dos
prprios
bancos
source
/
target
Ecincia
sem
paralelo
Reduz
efe?vamente
TCO
13
Oracle
E-LT
Extrac?on
Extrai
e
executa
parte
da
transformao
u?lizando
a
engine
do
DB
source.
Em
seguida,
carrega
na
memria
do
servidor
de
extrao
Load
Carrega
os
dados
j
transformados
no
DW
Transforma?on
Para
cada
tupla
carregada,
a
engine
do
ETL
naliza
o
processo
de
transformao
14
Diferenciais
Declara?ve
Design
e
Knowledge
Modules
Ambiente
virtual
de
desenvolvimento
Declara?ve
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
Automa?zao
Concluso
Referncias
16
Demonstrao
do
Oracle
Data
Integrator
Tutorial
Oracle
Data
Integrator:
Ge0ng
Started
with
na
ETL
Project
[Oracle,
2008]
Limpeza
dos
dados
por
meio
de
regras
de
integridade
Transformao
e
carga
de
dados
em
um
DW
usando
interfaces
Automa?zao
do
processo
de
ETL
17
Estudo
de
Caso:
Administrao
de
Vendas
18
Orders
Applica?on
(HSQLDB)
19
Parameters
(arquivo
texto
CSV)
20
Sales
Administra?on
(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
Automa?zao
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
Automa?zao
Concluso
Referncias
24
Limpeza
dos
Dados
Vericar
a
consistncia
dos
dados
das
fontes
Restries
de
integridade
Regras
de
negcio
Permite
analisar
os
erros
iden?cados
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
Vericar
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
Automa?zao
Concluso
Referncias
28
Transformao
dos
Dados
Quais
transformaes
queremos:
Obter
TRG_CUSTOMER.AGE_RANGE
a
par?r
de
SRC_AGE_GROUP.AGE_RANGE
e
SRC_CUSTOMER.AGE
Idade do cliente
(SRC_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
par?r
de
SRC_CUSTOMER.SALES_PERS_ID
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
par?r
de
SRC_CURSTOMER.FIRST_NAME
e
SRC_CURSTOMER.LAST_NAME
32
Transformao
dos
Dados
33
Transformao
dos
Dados
34
Transformao
dos
Dados
35
Transformao
dos
Dados
Denindo
os
JOINS
entre
as
fontes
de
dados
36
Transformao
dos
Dados
Denindo
os
JOINS
entre
as
fontes
de
dados
37
Transformao
dos
Dados
Denindo
as
regras
de
transformao
Denir
mapeamentos
para
os
atributos
em
Target
datastore
que
no
foram
mapeados
automa?camente.
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
Denindo
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
Denindo
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
Execu?on
e
verique
os
nmeros.
45
Transformao
dos
Dados
Vericando
o
resultado
Verique
a
tabela
resultante.
Na
perspec?va
Models,
expanda
Sales
Administrator
HQSL,
clique
com
o
boto
direito
em
TRG_CUSTOMER
e
em
Data.
46
Transformao
dos
Dados
Vericando
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
Automa?zao
Concluso
Referncias
49
Interface
para
a
Tabela
TRG_SALES
Denir
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)
Denir
ltro
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
quan?dade
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
Congurar
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]
56
Interface
para
a
Tabela
TRG_SALES
Congurar
KM
para
vericao
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)
58
Agenda
Oracle
Oracle
Data
Integrator
(ODI)
Estudo
de
Caso
Inicializando
o
ODI
Limpeza
dos
Dados
Transformao
dos
Dados
Interface
de
Integrao
dos
Dados
Automa?zao
Concluso
Referncias
59
Automa?zao
da
Carga
dos
Dados
no
DW
Denir
o
uxo
correto
para
a
carga
de
dados
no
DW
Usar
interfaces
previamente
denidas
Ateno
para
a
ordem
de
carga:
Dependncias
de
chaves
estrangeiras
60
1
2 4
3 5
6 7
61
Automa?zao
da
Carga
dos
Dados
no
DW
Criar
package
Load
Sales
Administra?on:
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
Automa?zao
da
Carga
dos
Dados
no
DW
63
Automa?zao
da
Carga
dos
Dados
no
DW
Executar
a
carga
por
meio
de
comando
do
Sistema
Operacional
Criar
scenario
64
Automa?zao
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
Automa?zao
Concluso
Referncias
66
Concluso
Processo
ETL
no
Oracle
Data
Integrator
Limpeza
dos
dados
Constraints
Extrao
e
Transformao
dos
dados
Interfaces
Automa?zao
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
Automa?zao
Concluso
Referncias
68
Referncias
[Oracle,
2008]:
Oracle
Data
Integrator:
Ge{ng
Started
with
an
ETL
Project.
Disponvel
em
<h}p://download.oracle.com/
docs/cd/E15985_01/doc.10136/getstart/GSETL.pdf>.
Acesso
em
21
set.
2010.
69