Beruflich Dokumente
Kultur Dokumente
x
Level I Developer - Laboratório
1
WWW.AprendendoETL.com.br
Conteúdo
Lab Atividade 2.1 : Criar Mapping STG_Dealership ........................................................................................................... 3
Lab Atividade 2.2 : Criar Mapping STG_Payment ............................................................................................................ 18
Lab Atividade 2.3 : Criar Workflow STG_Dealership ....................................................................................................... 28
Lab Atividade 2.4 : Criar Workflow STG_Payment .......................................................................................................... 39
Lab Atividade 2.5 : Visualizando Eventos de Log ............................................................................................................. 46
Lab Atividade 3 :Troubleshooting .................................................................................................................................... 55
Lab Atividade 4.1 :Transformações, Tarefas e Reusabilidade ....................................................................................... 103
Lab Atividade 4.2 :Carregando a tabela Employees ...................................................................................................... 123
Lab Atividade 5.1 :Join Homogêneo .............................................................................................................................. 126
Lab Atividade 5.2 :Resolvendo problemas de Joins Homogêneos ................................................................................ 137
Lab Atividade 5.3 : Joins Heterogêneos e condições nos Links ..................................................................................... 139
Lab Atividade 6 : Utilizando o Assistente Debug ........................................................................................................... 146
Lab Atividade 7.1 : Utilizando uma Lookup para carregar ODS Employeed.................................................................. 155
Lab Atividade 7.2 : Resolução de Problemas: Variáveis de conexão $Source ............................................................... 177
Lab Atividade 7.3 : Utilizando a Sequence Generator para carregar os dados da tabela ODS_DATES ......................... 184
Lab Atividade 7.4 : Criando um cache de Lookup para carregar o Target ODS Promotion........................................... 189
Lab Atividade 7.5 : Lookups Ativas ................................................................................................................................ 199
Lab Atividade 8 : Atualizando Targets no PowerCenter ................................................................................................ 204
Lab Atividade 9.1 : Utilizando PowerCenter para carregar a tabela FACT_SALES......................................................... 219
Lab Atividade 9.2 : Criando um Mapplet. ...................................................................................................................... 230
2
Lab Atividade 2.1 : Criar Mapping STG_Dealership
Cenário:
Você vai criar um mapeamento para carregar os dados de uma concessionária (Dearleship)
para o destino de uma tabela relacional STG_DEALERSHIP.
Objetivo:
Duração:
30 minutos
3
1. Vamos iniciar a nossa máquina Virtual selecionando o Usuário AprendendoETLpwc a
senha para acessar a máquina é aprendendoetl
2. Aguarde uns minutos para carregar todas as configurações, e vamos iniciar o servidor
do PowerCenter. Clique em inciar Todos os programas
4
3. Escolha Informatica 9.6.1 -> Server --> Start Informatica Services
5
5. Vamos iniciar o PowerCenter Designer selecionando o ícone verde com um D na
barra de tarefas.
6. Nessa etapa vamos clicar no ícone com um raio para logar no PowerCenter.
6
8. Selecione a pasta Treinamento e clique em Abrir.
Aplicando um duplo clique na pasta
Clicando com o botão direito do mouse e selecionando Abrir
Clicando no ícone abrir.
7
10. Na janela importar tabelas, selecione a fonte de dados ODBC
8
12. Nessa etapa vamos configurar a conexão com o banco de dados, Usuário STG01 e
senha STG01
13. Nessa etapa vamos importar a tabela STG_DEALERSHIP e clique em OK para finalizar.
9
14. O objeto foi importado para a sua pasta de trabalho, clique em salvar (ctrl + s) para
definir o objeto no repositório, na janela de saída será definida a notificação do
objeto.
10
16. Em Destinos selecione, Importar do Banco de Dados, e vamos criar uma conexão
com a base ODS01. Vamos selecionar uma fonte de dados ODBC para importarmos o
objeto da base de dados, conectando com a base de dados ODS01. Usuário ODS01
Senha ods01
11
17. Vamos selecionar a tabela DEALERSHIP para realizar o processo de carga, clique em
OK e depois aplique o comando "crtl + s", para salvar o arquivo no seu repositório.
12
19. Selecione a opção Mapeamentos Criar
13
21. Aplique o comando "Ctrl + s" para salvar o arquivo no repositório e verifique na
janela de saída que o mapeamento será considerado inválido. Isso acontece porque a
ferramenta Designer, verifica se existe pelo "source" e um "target", conectados pelas
portas.
14
23. Uma boa prática utilizada no mercado é renomearmos os objetos, inseridos para
facilitar a manutenção. Isso pode variar da instituição, algumas empresas não se
preocupam com a padronização deixando a critério do desenvolvedor.
No nosso treinamento vamos adotar um padrão para definirmos os sources, target,
expression, agregattor, filters, Lookups, Joinners e todos os outros componentes.
Aplique um duplo clique no objeto Source Definition ou clique com o botão direito e
selecione a opção editar, alterando o nome do objeto para SRC_STG_DEALERSHIP.
24. Realize esse mesmo procedimento para alterar o objeto "Source Qualifier" para
SQF_STG_DEALERSHIP.
15
25. Realize esse mesmo procedimento para alterar o objeto "Target Definition" para
TGT_DEALERSHIP.
26. Com as alterações feitas, vamos conectar as Origens nos seus respectivos destinos.
Clique com o botão direito na área de trabalho e selecione Vinculação Automática
16
27. Nessa janela escolha a vinculação por nome e clique em OK.
28. Pronto com todas as portas conectadas o seu mapa deve ficar assim:
29. Clique em Salvar para o seu trabalho ser registrado no repositório do powercenter e
na janela de saída verifique a mensagem.
17
Lab Atividade 2.2 : Criar Mapping STG_Payment
Cenário:
Precisamos carregar um arquivo (flat file) para a nossa base de Dados. Porém, não existe
uma tabela que possa receber os dados desse arquivo. Você deve criar um mapeamento
para carregar esse arquivo e gerar o comando DDL no PowerCenter para criar a tabela
Payment.
Objetivo:
Aprender como criar um mapping que carrega informações de um arquivo flat file
numa tabela relacional .
Aprender a criar e definir um source de um arquivo flat file.
Criar uma tabela física utilizando o comando DDL gerado pelo PowerCenter.
Aprender como acessar e editar os objetos de conexões da base de dados.
Criar um simples mapeamento
Duração:
30 minutos
18
1. Se você não estiver logado no PowerCenter Designer Tools, inicie o procedimento
conforme o Lab 2.1 .
2. Clique na área de trabalho do "Source Analyzer" com o botão direito e selecione
"Limpar Tudo"
19
5. No assistente de importação, selecione Delimitado, Importar nomes de campos da
primeira linha. e clique em Avançar.
20
7. Nessa etapa é possível definir o tipo de Dados do arquivo e o comprimento do
campo. Clique em Concluir para finalizar o assistente de importação.
21
9. Arraste o objeto payment do source definition para o Target Designer
10.Vamos editar esse target e modificá-lo o tipo do banco de dados e renomear para
STG_PAYMENT., e clique em OK. e grave as alterações no repositório do
PowerCenter.
22
11. Observe que a pasta do Target foi modificada na janela de Navegação.
13.Nessa janela clique em conectar para realizar a conexão com o banco de dados.
23
14. Clique para selecionar a Fonte de dados DES_STG_01_ORACLE digitando o Usuário
STG01 e senha STG01 e clique em Conectar.
15. Altere o nome do Arquivo, marque as opções conforme a figura em anexo e Gerar
arquivo SQL.
24
17. Selecione Editar arquivo SQL para visualizar o comando DDL.
Como não existe a tabela STG_PAYMENT, vamos retirar do arquivo e clicar em salvar
e em seguida fechar o arquivo e selecionar Gerar e executar o script.
19. Verifique se o comando foi criado com sucesso, vamos selecionar a ferramenta SQL
Developer que está localizada na área de trabalho da máquina virtual.
25
20.Verifique a tabela foi criada, com as devidas colunas..
26
22. Arraste os objetos do Source (flat file payment) e do Target (STG_PAYMENT).e salve
o mapa.
27
Lab Atividade 2.3 : Criar Workflow STG_Dealership
Cenário:
Você vai criar um workflow com uma conexão relacional para carregar os dados Dealership
para STG_Dealership.
Objetivo:
Duração:
15 minutos
28
1. Vamos iniciar o Workflow Manager selecionando o ícone laranja com um W na barra
de tarefas.
29
4. Selecione o Menu "Fluxo de Trabalho" e selecione criar.
30
6. Para criar uma tarefa de sessão, clique no ícone na barra de tarefas, conforme
demonstrado na figura abaixo e clique na área de trabalho para incluir o objeto.
31
9. Selecionando o objeto e pressionando a tecla "ctrl" e possível conectar a Início na
nossa Session.
10. Agora vamos editar a nossa session, alterando o nome da sessão utilizando as boas
práticas de mercado. SSN_DEALERSHIP_LAB02.
32
11. Vamos criar uma conexão relacional, pois propositalmente não disponibilizei uma
conexão nessa máquina virtual.
Vamos criar e editar as duas conexões relacionais. Uma para obter os dados da STG01
e outro da ODS01, selecione o ícone abaixo para criar conexão relacional.
12. Selecione o tipo de banco e insira o nome e senha do usuário. Crie uma conexão
ODS01 e STG01.
33
13. Vamos selecionar a session "SSN_STG_DEALERSHIP_LAB02" aplicando um duplo
clique no objeto, clique na aba "Mapeamento" e selecione a opção Origens para
editarmos a conexão que pertence a origem dos dados, selecionando a conexão
relacional STG01.
34
15. Vamos em Destinos e selecionar a TGT_DEALERSHIP e configurar a conexão para
ODS01, vamos selecionar a opção Target load type para Normal.
*******************************************
* Aqui fica a dica entre a diferença entre carga Normal e Bulk.
Na carga Bulk insere uma grande quantidade de dados no destino, melhorando o desempenho da sessão,
porém se existirem índices nas tabelas você deve desabilitar antes de carregá-los, caso contrário a sessão irá
falhar. Um outro detalhe é que caso a sessão falhe não será possível realizar o roolback no banco.
Na carga Normal é possível voltar o banco caso os dados falhem.
*******************************************
35
17. Clique em OK e salve o workflow no repositório do projeto.
18. Para iniciar o workflow clique com o botão direito e selecione a opção "iniciar Fluxo
de Trabalho".
36
19. Ao iniciar o Workflow o Monitor será acionado e podemos acompanhar o resultado
da execução, navegue no repositório na pasta Treinamento e execute
20. Você pode visualizar os dados inserido no Mapping Designer, abra o mapa criado e
clique com o botão direito no TGT_DEALERSHIP e clique em visualizar dados.
37
21. Informe o usuário e senha e clique em Conectar.
38
Lab Atividade 2.4 : Criar Workflow STG_Payment
Cenário:
Você vai criar um workflow com um arquivo flat file para carregar os dados Payment para
STG_Payment.
Objetivo:
Duração:
15 minutos
39
1. Vamos iniciar o Workflow Manager selecionando o ícone laranja com um W na barra
de tarefas.
40
4. Selecione o Menu "Fluxo de Trabalho" e selecione criar.
41
6. Crie uma session e selecione o mapeamento MPG_STG_PAYMENT_LAB02_2 e clique
em OK.
7. Na próxima etapa clique em link para conectar o seu workflow com o início da tarefa.
42
9. Aplique um duplo clique no objeto session e vamos configurar o source, apontando o
caminho do arquivo flat file.
43
10. No destino altere a conexão para STG01 e o tipo de carregamento para Normal.
44
12. Execute o workflow conforme descrito anteriormente e visualize no monitor a
execução da carga.
Na ferramenta Designer, clique com o botão direito e selecione visualizar os dados para
verificar os dados carregados, lembrando que você deve seguir as orientações aplicadas no
exercício anterior.
45
Lab Atividade 2.5 : Visualizando Eventos de Log
Cenário:
Seu workflow foi executado com sucesso. Vamos analisar o que foi gerado nos logs de
execução.
Objetivo:
Duração:
15 minutos
46
1. Vamos iniciar o Workflow Monitor selecionando o ícone lilás com um M na barra de
tarefas.
47
4. Abra o Evento de Log do Workflow.
6. Observe a conexão do início e a session tem um expressão vazia. Pois nesse exercício
não utilizamos uma expression.
48
7. Observe o nome do nó que a sessão foi executada.
49
9. Observe a mensagem de execução com sucesso da session e workflow.
50
11. Abra a janela de Eventos de Log da session.
51
14. Observe que o intervalo de atualização é de 10000 .
15. Observe a declaração do SQL gerado e que não existe nenhuma chave primária.
52
17. Observe a quantidade de registros lidos.
53
19. Visualize o resumo da execução da sessão.
54
Lab Atividade 3 :Troubleshooting
Cenário:
Agora que você possui um pouco de experiência. Seu Gerente encaminhou um incidente de
um workflow que não consegue rodar no ambiente de produção, nesse workflow contém
erros que precisam ser corrigidos.
Objetivo:
Duração:
120 minutos
55
1. Vamos iniciar o Repository Manager para criarmos uma pasta no projeto como erros.
56
4. Vamos criar uma pasta chamada Erros, e selecionar a opção de criar atalho, na aba
Propriedades da pasta.
57
6. Vamos importar os workflows disponibilizados no google drive Turma_PWC_2016_01
--> Lab03.
wkf_U3_LabA_Load_STG_PAYMENT_xx.XML
wkf_U3_LabB_Stage_Product_xx.XML
wkf_U3_LabC_Load_Stage_Dealership_Promotions_xx.XML
58
9. Vamos importar o Objeto " wkf_U3_LabA_Load_STG_PAYMENT_xx.XML"
59
11. Nessa etapa o assistente informa a pasta de origem do arquivo e a pasta de destino
do arquivo. Clique em Avançar.
12. Na próxima etapa é possível criar regras para definir possíveis conflitos. Clique em
Avançar.
60
13. Foi detectado conflitos, a mensagem é que o workflow selecionado substituíra o
objeto na pasta de destino. Para todas as opções dessa etapa vamos selecionar
Substituir.
61
14. Na próxima etapa existe um conflito dos objetos existentes na pasta de trabalho,
como houve a criação dos objetos recentemente e não houveram modificações,
optamos por reutilizar os objetos existentes. Clique em Avançar.
15. Na próxima etapa, o assistente informa um resumo das ações realizadas para
resolução do conflito. Clique em Fechar para ir para a próxima etapa do assistente de
importação.
62
16. Nessa etapa do assistente é realizado uma análise antes da importação dos dados,
caso exista alguma pendência teríamos que resolver. Clique em importar para realizar
a importação dos objetos.
63
18.Vamos realizar a importação do objeto " wkf_U3_LabB_Stage_Product_xx.XML"
64
20. Nessa etapa será realizada uma comparação entre as pastas.
21. Nessa etapa vamos criar umas regras, para resolução de possíveis problemas. Clique
em Nova regra e adicione as regras conforme a imagem abaixo.
65
22. Na próxima etapa, das regras criadas uma não foi resolvida, selecione a opção
Reutilizar e clique em Avançar.
66
23. Nessa etapa, clique em Fechar para prosseguir com a instalação.
67
25. Verifique se houve algum problema e clique em Feito.
68
27. Selecione todos os objetos e clique em Avançar.
28. Em alguns casos vocês podem se deparar com várias pastas de destinos e
repositórios do PowerCenter, fiquem atento com isso.
69
29. Não selecione nenhuma regra para resolução de conflitos.
30. Vamos escolher a opção Substituir e aplicar essa resolução para Todos os Conflitos.
70
31. Clique em Fechar para prosseguir com a importação.
33. Agora feche a ferramenta repository Manager e vamos para a ferramenta Workflow
Manager.
71
34. Abra a pasta Erros e selecione o workflow conforme figura abaixo. Note que a
session está com uma interrogação vermelha acusando um problema.
72
36. Verifique que no output do workflow aparece a mensagem informando que uma
propriedade está sem conexão. Se você tentar executar o workflow aparecerá uma
mensagem de erro, pois uma session encontra-se inválida.
73
38. Execute o seu workflow .
39. O powerCenter está informando que houve uma alteração. Salve a pasta no
repositório do Integration Service para executar o workflow.
74
40. Tente executar o workflow, e note a mensagem de erro.
75
41. Esse erro aconteceu devido o workflow importado, não está vinculado a nenhum
serviço de Integração. Clique em Fluxo de trabalho e selecione a opção Editar.
76
43.Clique em Ok, salve as alterações e execute novamente o workflow.
44. Observe que a session falhou, no primeiro erro foi detenctado que não foi possível
truncar a tabela de destino.
77
45. Clique com o botão direito e selecione obter log da sessão.
46. No log da sessão analise a mensagem com o log de erro. Nesse caso a mensagem é
que não foi possível localizar a tabela do banco de dados.
78
47. Volte para o Workflow Manager e clique em Mapeamento e verifique se o usuário
que realiza a conexão tem privilégios para realizar a operação.
Nesse caso a conexão ODS01 está realizando uma gravação na tabela
STG01.STG_PAYMENT e não possui privilégios para realizar essa operação. Altere a
conexão para STG01 e realize uma nova execução.
79
48.Salve as alterações e execute novamente o workflow e verifique o resultado da
execução.
49. Confira o log de execução para certificar que não houve nenhum problema.
80
50. O log não informa nenhum erro, operação executada com sucesso.
81
Agora Vamos executar o workflow
wkf_U3_LabB_Stage_Product_xx.XML
52. Vamos realizar a configuração das conexões para os objetos do Source e Target.
82
53.Salve as alterações, observe que não existe mais nenhuma restrição na validação
semântica da session e execute o workflow.
83
56.Execute o workflow e verifique o resultado.
84
Agora Vamos executar o workflow
wkf_U3_LabC_Load_Stage_Dealership_Promotions_xx.XML
O pipeline do arquivo flat file realiza a leitura do arquivo promotions.txt que carregam os
dados para a tabela STG_PROMOTIONS.
No outro pipeline realiza a leitura da base de dados da tabela ODS e carrega na tabela
STG01.STG_DEALERSHIP.
Com base nos conhecimentos adquiridos realize a configuração para correção desse
workflow. Caso necessite de ajuda, utilize o guia para realizar a configuração.
57. Abra o workflow Manager e verifique que a session encontra-se com erro.
85
58. Navegue no menu Workflow e clique em validar para verificar os erros.
86
61. Execute o workflow e analise os logs de execução do workflow.
62. Observe que na primeira mensagem de erro o workflow não conseguiu localizar o
arquivo "promotions1.txt". Conforme as instruções da página 82 o arquivo correto é
promotions.txt . Faça a devida correção do nome do arquivo e proceda com uma
nova execução.
87
63. Observe que houve uma nova falha. Analise os logs de execução para verificar o
problema.
88
64. Vamos abrir o SqlDeveloper para verificar se existe essa coluna na tabela.
66. O campo realmente existe na tabela, vamos abrir o powercenter designer para
analisar a estrutura dos sources e targets que carregam a tabela STG_PROMOTIONS.
Abra a pasta Erros escolha origem e abra o FlatFile "promotions"
89
67.Verifique o arquivo promotions e aplique um duplo e selecione a opção editar.
68. Observe que o campo está marcado com a opção, largura fixa.
90
69. Navegue até a origem do arquivo para verificar se realmente esse arquivo possui
largura fixa. c:\Informatica\9.6.1\infa_shared\SrcFiles\promotions.txt
91
71. Nessa janela configure o delimitador conforme o arquivo de origem, salve as
alterações.
92
73. No workflow manager selecione atualizar mapeamento.
93
75. Observe que as alterações não foram propagadas.
94
77. Executando o workflow, foi informado que foram rejeitadas 6 linhas do source
SQ_promotions. Analise o log e verifique o motivo.
79. Muita calma nessa hora, beba um pouco de água, relaxe e vamos analisar
novamente o arquivo promotions.txt . Olha que interessante o formato desses
campos estão com MM/DD/YYYY, volte para o informatica Designer e edite
novamente o source.
95
80. No source Analyzer, clique com o botão direito e selecione Editar.
96
82. Clique em Formatar, selecione o Formato mm/dd/yyyy e selecione a opção Ajustar
Largura Preenchimento. Faça esse procedimento para os dois campos.
83. Ao final desse procedimento as alterações deverão ficar idênticas a figura abaixo.
Clique em Salvar o Source Analyzer, mapeamento e vá para o Workflow.
97
84. Atualize a session no Workflow, salvando as alterações e clique em executar
workflow.
85. Verifique que houve um problema na carga, clique em Obter Log para realizarmos a
nossa análise.
98
86. No log, foram detectados dois erros ORA-02373 e ORA-00904
Altere a forma de carga na tabela para normal e execute novamente o workflow.
99
88. Analisando o nosso problema, constatamos que o objeto EXPIRY_DATE existe e o
nosso mapeamento está desconsiderando esse campo do nosso objeto. Vamos
excluir o Target STG_PROMOTIONS e importar novamente para o repositório. Essa
operação afeta todos os mapas que utilizam esse target. Vamos realizar uma análise
para verificar quais objetos serão afetados.
89.Clique com o botão direito e selecione Dependências, selecione as opções que vocês
queiram analisar para verificar quais objetos serão afetados com essa exclusão.
90.
nali
san
do
as
info
rmações acima, apenas um mapa será afetado. Exclua o objeto do nosso
mapeamento. Selecione o Target STG_PROMOTIONS e navegue até o menu para
Excluir, Salve as alterações e realize uma nova importação.
100
91. Após excluir o objeto, vamos importar novamente para o nosso repositório, salvando
as alterações do novo objeto.
92. Abra novamente o mapa e verifique que o target desapareceu, arraste novamente e
realize as conexões para configurarmos no workflow.
101
93. Realize as alterações no workflow Manager, verificando os apontamentos dos
objetos e execute novamente o processo.
94. Dessa vez o workflow foi executado com sucesso, analise os logs para verificar o
resultado da execução.
102
Lab Atividade 4.1 :Transformações, Tarefas e Reusabilidade
Cenário:
Carregar a base de clientes lendo de uma lista de arquivos as informações dos clientes.
Esta lista de arquivos contém os nomes dos arquivos delimitados, todos registros com o
customer number 99999 ou nulos deverão ser filtrados do arquivo. Existem um número de
colunas que os dados deverão ser formatados.
Objetivo:
Duração:
60 minutos
************************************************************************
* Obs. Você deve ter notado que em alguns casos não informamos alguns *
* comandos propositalmente, por termos citados em exercícios anteriores. *
* Bom estudo! *
************************************************************************
103
1. Efetue o login na ferramenta Repository Manager.
2. Crie uma pasta chamada SIGDC , e atribua a permissão de atalho nessa pasta
3. Crie uma nova Pasta como TreinamentoETL e não atribua a permissão de Atalho.
4. Abra o powerCenter designer navegando na pasta SIGDC.
5. Crie um source, (flat file) com a seguinte estrutura, acrescentando uma chave
primária no campo DEALERSHIP_ID
104
6. Selecione o objeto que você criou na pasta SIGDC e clique no menu Editar e selecione
a opção "Copiar" e cole como "Atalho", Lembrando que para realizar a operação de
colar como Atalho a sua pasta não pode ser compartilhada e você tem que abrir a
pasta do projeto.
105
7. Com o objeto copiado, abra a pasta TreinamentoETL e selecione a opção colar Atalho.
106
12. Por questões de performance o filtro deverá ser utilizado no início da transformação
quando for possível a sua aplicação. Em algumas empresas os objetos devem ser
nomeados para atender os padrões de utilização do objeto, isso facilita a
manutenção por outra equipe que assumir o projeto. Por isso, vamos aplicar o
seguinte padrão nos nosso objetos:
SOURCE - SRC
SOURCE QUALIFIER - SQF
FILTER - FLT
EXPRESSION - EXP
TARGET - TGT
13. No enunciado do exercício, foi solicitado a filtragem dos registros de customers
99999 ou customers nulos. Conecte todas as portas do SQF no FILTRO.
14. Clique no Filtro e navegue em propriedades para editar a nossa condição, na seta
valor podemos editar a nossa condição.
107
15. Na Janela do Editor de Expressão, apague o valor TRUE e procure a seguinte função
ISNULL e vamos entender a sua funcionalidade.
16. Ao selecionar a função o PowerCenter exibe uma pequena descrição de como você
pode utilizar esse recurso. Retorna verdadeiro se a expressão é nula, nesse caso
queremos filtrar os registros nulos, então temos que utilizar um operando para negar
essa condição.
108
17. A sua condição deve ficar parecido com a figura abaixo.
109
19. Vamos para a transformação e vamos utilizar o editor de expressão para juntar os
campos FIRSTNAME e LASTNAME. Existe uma função no PowerCenter responsável
por concatenar campos, que é a função CONCAT, porém se eu juntar as colunas
acima, não haverá espaço entre os nomes. Tornando a minha transformação errada.
Para esse caso vamos utilizar um recurso semelhante a da linguagem sql.
Para criar uma "nova porta", clique nessa imagem.
Desmarque a opção "Input" e clique na seta para criar a expressão.
Edite o tamanho da coluna e o tipo de dado compatível com o seu campo
***************************
Tome cuidado com o tamanho do seu campo para não ultrapassar o limite de caracteres do
destino.
110
20. Um detalhe muito importante, caso a transformação não consiga realizar a
transformação, você pode definir o valor desse campo. Caso a transformação não
consiga realizar essa operação o powercenter interrompe o processo gerando erro na
execução.
21. Crie uma expressão para formatar o campo PHONE_NUMBER, atribuindo a seguinte
máscara (xxx) xxx - xxxx
Utilize a função SUBSTR, lembrando que o tipo de dado deve ser transformado para
texto.
22.Crie uma expressão para classificar o gênero no campo GENDER, aplicando o seguinte
critério:
M --> MALE
F --> FEMALE
Dica para construção dessa expressão, você pode utilizar a função "IIF" ou "DECODE"
111
23. Crie uma transformação para classificar a faixa etária do campo AGE.
AGE < 20 --> 'MENOS DE 20'
AGE >= 20 e AGE <=29 --> 'Entre 20 e 29'
AGE >= 30 e AGE <=39 --> 'Entre 30 e 39'
AGE >= 40 e AGE <=49 --> 'Entre 40 e 49'
AGE >= 50 e AGE <=60 --> 'Entre 50 e 60'
AGE > 60 --> 'Mais que 60'
24. Crie um campo chamado DATA_TABELA, lembrando que o tipo de dado deve ser
"date/time" do powercenter.
112
26. Vamos criar uma variável que será informada no workflow. Para isso clique no menu
Mapeamentos e selecione a opção Parâmetros e Variáveis.
27. Na janela crie uma variável, informando o tipo de dado e o nome conforme a figura
abaixo.
113
28. Volte para a expression e crie uma nova porta, informando a variável que você criou.
29. Você deve notar que existem mais portas criadas que o destino, isso foi usado
propositalmente para aprendermos uma nova opção de importação de objetos
existentes.
114
30. Execute o script02.sql disponível no google drive LAB04.
31. Selecione Target Designer e clique em importar do Banco de Dados.
115
33. Note que o powercenter informa que o objeto já existe. Selecione Comparar para
visualizar as alterações.
34. Nas colunas observe que existem 3 bandeiras sinalizando as alterações existentes.
116
36. Conecte apenas as portas que irão ser transformadas o resto pode ir direto para o
target.
117
40. No source selecione a opção Indirect para que o pwc realizar a leitura do arquivo.
41. No menu workflow selecione a opção editar e criando uma variável com o nome de
WKF_DATA_WORKFLOW.
118
42. insira no workflow o objeto Atribuição.
43. No objeto adicione uma nova expressão e edite para carregar os dados conforme a
data de execução do workflow.
119
44. Na session, vamos atribuir a variável, clique no lápis para definir as variáveis.
120
46. Realize os devidos mapeamentos, para que o workflow fique conforme a figura
abaixo.
47. Execute o workflow e veja o resultado da carga. Não houve nenhuma inserção de
registros, aparentemente o filtro pode ter retirados os registros. Analise o log e veja o
que foi realizado.
121
49. Corrija a função no designer, atualiza o workflow e execute novamente.
122
Lab Atividade 4.2 :Carregando a tabela Employees
Cenário:
Objetivo:
Duração:
30 minutos
************************************************************************
* Obs. Agora é com você!
*
************************************************************************
123
51. Para criação de uma transformação reutilizável, você pode criar utilizando o
Transformation Developer, selecionando Transformação -- > Criar
124
Para esse lab você deve criar as transformações necessárias e reutilizar no seu
mapeamento, conforme a imagem abaixo.
125
Lab Atividade 5.1 :Join Homogêneo
Cenário:
Objetivo:
Usar o Source Qualifier para definir duas origens homogêneas, via SQL.
Usar a função UPPER.
Criar uma conexão loader
Carregar os dados via loader
Duração:
30 minutos
126
1. Vamos abrir o Sql Developer para realizar a construção da nossa query.
2. A sua query deve retornar todos os campos de ambas tabelas, lembrando que a
chave para o relacionamento das tabelas é product_id e product_code.
3. Na ferramenta designer, crie um mapa com o nome de MPG_PRODUCT_LAB05_01,
na pasta Treinamento_ETL.
4. Copie e cole os sources PRODUCT e PRODUCT_COST da pasta EDW na pasta
Treinamento_ETL e utilize no seu mapeamento.
127
5. Elimine um Source Qualifier (SQ_PRODUCT_COST), clicando com a tecla del no
objeto.
128
7. Aplique um duplo clique no Source Qualifier (SQ_PRODUCT), para inserirmos o sql
criado. Na aba Propriedades clique na seta do Atributo Sql Query.
129
9. Copie o Target ST_PRODUCT da pasta EDW para a pasta TreinamentoETL e utilize no
seu mapping, conectando todas as portas nos seus respectivos destinos.
12. Selecione Novo e escolha o Subtipo Oracle External Loader e clique em OK.
130
13. Na conexão informe um nome da conexão, usuário e senha do banco e o caminho do
aplicativo que executa o comando loader.
c:\app\UsuarioOracle\product\12.1.0\bin\dbhome_1\BIN\sqlldr.exe
131
14. Na conexão do Mapeamento, informe os Owner e nome das tabelas para o
powercenter.
132
15. No Target, selecione a opção File Writer. Em Conexões informe o Tipo Carregador e
selecione a conexão que irá realizar essa carga.
133
16. Nessa mesma janela, informe o nome do owner e tabela para gerar os arquivos.
134
19. Vamos analisar os arquivos de carga do loader.
20. Observe que por algum motivo a conexão criada não está conseguindo converter os
dados em decimais. Arquivo (stg_product1.out Arquivo LDRREJECT).
21. Crie uma função para desprezar as casas decimais na expressão do campo e altere o
target da tabela para não ter casas decimais. Essa alteração é só para fins didáticos,
lembrando que caso ocorra esse tipo de erro chame o suporte responsável pela
ferramenta.
135
22. Salve as alterações e execute novamente o workflow e verifique o resultado no
monitor e arquivo stg_product1.out (ldrlog).
136
Lab Atividade 5.2 :Resolvendo problemas de Joins Homogêneos
Cenário:
Objetivo:
Duração:
30 minutos
**************************
**************************
137
23. Execute o script para criar as CARGA_TABELAS.sql no seu banco de dados oracle.
24. Importe o workflow WKF_CREDITO_PREPAGO_LAB05_02.
25. Realize as devidas correções e coloque o workflow para funcionar.
138
Lab Atividade 5.3 : Joins Heterogêneos e condições nos Links
Cenário:
Objetivo:
Duração:
40 minutos
139
26. Faça todo o desenvolvimento na pasta TreinamentoETL.
27. Crie o mapa com o nome de:
140
30. Selecione o objeto Joiner Transformation e inclua no seu mapeamento.
32. Aplique um duplo clique na transformação para editar os campos que farão parte do
relacionamento.
141
33. Em propriedades é possível informar o tipo de relacionamento que será efetuado.
142
36. Crie um workflow e adicione 2 sessions do mapa
MPG_TRANSACTION_STG_LAB05_03, pois vamos trabalhar com condições no link.
143
39. Aplique um duplo clique na session que conecta a SSN_FAILED com a
SSN_SE_FALHAR_EXECUTA.
144
43. Observe no monitor como ficou a execução.
45. Observe que não houve a execução dessa session, pois o critério que adicionamos só
seria executado em caso de falhas.
145
Lab Atividade 6 : Utilizando o Assistente Debug
Cenário:
Objetivo:
Duração:
35 minutos
146
1. Abra o PowerCenter Designer, navegue até a pasta Erros e importe o arquivo
MPG_STG_DATES_DEBUG_LAB06.xml para realizar a importação do mapping.
147
3. No google drive, navegue no LAB06 copie o arquivo dates.txt para a pasta
C:\Informatica\9.6.1\server\infa_shared\SrcFiles
148
6. Execute o workflow e verifique que o processo foi interrompido.
149
8. Na janela de Depurador Mapeamento, clique em Avançar.
150
10. Em Conexões altere a Instância STG_DATES para STG01.
151
12. Clique em Avançar por três vezes, e selecione a opção "Descartar dados de destino"
e clique em Concluir.
13. O powerCenter criou e inicializou a sessão de Debug, após esse processo o assistente
inicializa a janela para visualizar os dados que serão carregados na sua
transformação. Ajuste a janela para melhor visualização dos dados, selecione a
instância de Destino e a instância de entrada dos dados.
152
14. No menu ferramentas, selecione a opção Personalizar... para exibir as ferramentas
do depurador.
153
18. Clique novamente em Próxima Instância e verifique que esse registro teve problemas
nas transformações, execute esse procedimento até o limite de 11 registros.
19. Verifique a sua instância de destino e observe que houveram dois registros que não
serão inseridos na sua carga, por erros de transformação.
154
Lab Atividade 7.1 : Utilizando uma Lookup para carregar ODS Employeed
Cenário:
Objetivo:
Duração:
80 minutos
155
1. Abra a ferramenta powercenter Designer.
2. Abra a pasta de trabalho TreinamentoETL.
3. Importe da Base de dados do Oracle, a tabela EMPLOYEES para origem dos dados do
owner ODS01.
156
7. Crie um novo mapa com o nome de MPG_EMPLOYEES_LAB07_01
157
10. Selecione a opção importar de um Flat File.
158
12. No assistente de importação configure o seu arquivo e clique em concluir
13. Após a sua confirmação, sua lookup será exibida conforme a figura abaixo.
159
14. Altere o nome da Lookup para LKP_SALARIE_FLATFILE.
15. Arraste do Source Qualifier a porta EMPLOYEE_ID, conectando na sua lookup
LKP_SALARIE_FLATFILE.
16. Aplique um duplo clique na Lookup e navegue na aba Condição, "adicionando uma
nova condição" para a lookup. Informando o critério para seleção de sua pesquisa.
160
17. Edite o nomes das portas da lookup, para a porta de origem do Source Qualifier
renomeie para EMPLOYEE_ID_IN e a porta da lookup para EMPLOYEE_ID_OUT.
Marque a porta SALARY como Retorno.
19. Precisamos criar uma função para transformar os dados da porta EMPLOYEED_ID_IN
para decimal.
161
20. Vamos adicionar uma função para converter esses dados para decimal, o tipo de
dados compatível com a lookup.
21. Lembre-se que será necessário alterar o tipo de dados da porta da lookup.
162
22. Conecte as portas nos seus respectivos destinos.
23. Abra o workflow manager para configurar as conexões. Crie esse workflow com o
nome de WKF_STG_EMPLOYEES_LAB07_01.
24. Copie o arquivo informado no passo 11 para a pasta $PMLookupFileDir.
163
25. Nas propriedades da session, configure o nome do arquivo da sua lookup.
164
28. Observe que não existe registro na tabela de origem.
29. Crie um mapa para carregar a tabela ODS.EMPLOYEES de uma lista de arquivos,
conforme executado nos LAB04_01 e LAB04_02.
165
32. Seu worflow deve ficar parecida com a da figura abaixo.
166
34. Volte para o designer no mapa MPG_EMPLOYEES_LAB07_01 e verifique o resultado
dos dados no target.
35. Volte para o workflow manager e inclua a tarefa para verificar a chegada de um
arquivo flat file.
36. Exclua a linha entre a tarefa de Início e a tarefa da session. Para excluir a linha
selecione a linha e clique com o botão delete.
167
37.Conecte o Início com a tarefa de "Event Wait", com as demais sessions. Conforme a
figura abaixo.
38. Aplique um duplo clique na tarefa "Event Wait" e na aba Geral, selecione a opção
"Falhar pai caso essa tarefa falhe".
168
39. Na aba Eventos, selecione a opção Predefinido: "É um evento de inspenção de
arquivo.". e digite o endereço de um arquivo que exista no seu diretório do
powercenter, no nosso exemplo selecionamos a opção do arquivo salaries.txt
169
41. Arraste a tarefa Timer na sua área de trabalho.
170
43. Na aba "Temporizador", selecione Hora relativa e iniciar após 3 Minutos.
"a partir da hora de início desta tarefa".
171
45. Insira a tarefa "E-mail"
172
48. Na aba geral, selecione a opção Falhar pai caso esta tarefa falhe.
173
50. Seu Workflow deve ficar conforme a imagem abaixo.
52. Edite o controle e selecione as opções Falhar pai caso esta tarefa falhe e tratar links
de entrada como OR.
174
53. Em propriedades selecione a opção "Stop parent".
175
55. Clique na linha entre o TMR_ODS_EMPLOYEES e E-mail para incluir condições.
176
Lab Atividade 7.2 : Resolução de Problemas: Variáveis de conexão $Source
Cenário:
Objetivo:
Duração:
25 minutos
177
58. Execute o script07_02.sql do LAB07, localizado no google drive.
59. Importe o arquivo WKF_LAB07_02_ERRO_CONEXAO da pasta LAB07, do google
drive.
60. Execute o workflow e verifique o erro.
62. Esse erro é conhecido por todos nós. Existe um problema de apontamento da
conexão.
178
63. Volte para o workflow e clique na session e na aba Mapeamento, note que nas
conexões foram passadas a variável $Source.
179
64. Podemos definir as conexões das variáveis na aba Propriedades.
65. Observe que a conexão está apontando para STG01, e a nossa base que estamos
utilizando é a ODS01.
66. Realize as alterações, e execute o workflow.
180
67. Verifique o resultado no monitor.
181
70. Dessa vez não houveram erros.
182
72. Podemos priorizar a ordem de execução. No menu Mapeamentos, Plano de
Carregamento de Destinos.
183
Lab Atividade 7.3 : Utilizando a Sequence Generator para carregar os dados
da tabela ODS_DATES
Cenário:
Criar uma sequence iniciando em 20000 para carregar os registros da tabela ODS_DATES .
Objetivo:
Duração:
15 minutos
184
74. Execute o script07_03.sql para criar a tabela ODS_DATES.
75. Abra a pasta TreinamentoETL.
76. Importe o source STG_DATES do owner STG01.
77. Importe o Target ODS_DATES do owner ODS01.
78. Crie o mapa com o nome de MPG_ODS_DATES_LAB07_03.
79. Insira a transformação Sequence Generator, conectando a porta NEXTVAL na porta
D_SEQ do Target.
80. Conecte as portas de origens nos seus respectivos destinos.
81. Seu mapa deve ficar parecido com a figura abaixo.
185
82. Edite a transformação SEQTRANS aplicando um duplo clique e na aba propriedades
configure para iniciar em 20000 e reiniciar a cada execução.
83. Em propriedades do Target vamos incluir o comando que trunca a tabela antes da
execução. Podemos inserir qualquer instrução SQL.
186
84. Verifique se o mapa é válido antes de prosseguir com o desenvolvimento.
187
87. Verifique o resultado no monitor.
188
Lab Atividade 7.4 : Criando um cache de Lookup para carregar o Target ODS
Promotion
Cenário:
Objetivo:
Duração:
30 minutos
189
90. Na pasta TreinamentoETL crie um mapa com o nome
MPG_ODS_PROMOTIONS_LAB07_04.
91. Execute o script07_04.sql do google drive para carregar a tabela Promotions e criar a
tabela ODS_PROMOTIONS.
92. Importe a tabela PROMOTIONS do owner ODS01 no Source Analyzer.
190
94. No Target Designer importe a tabela ODS_PROMOTIONS.
95. Arraste os objetos criados para o seu mapa, e realize vinculação automática por
nome, o seu mapa deve ficar idêntico a figura abaixo.
96. Observe que o powercenter não relacionou alguns campos, pois o tipo de dados são
diferentes.
191
98. Insira uma lookup com os dados da tabela ODS_DATES localizada no Destino.
99. Renomeie a lookup para LKP_START_DATE, e clique em OK. Aparecerá uma janela
informando que a Lookup está sem uma Condição. Ignore o erro e clique em OK.
192
100. Conecte o campo do Source Qualifier (START_DATE) na lookup e D_SEQ da
Lookup em START_DATE, igual a figura abaixo.
101. Vamos incluir a nossa condição para realização da pesquisa dos campos.
193
102. Em propriedades vamos marcar a opção para cache persistente e atribuir o
nome do nosso cache. Esse arquivo será gravado no diretório
c:\Informatica\9.6.1\server\infa_shared\cache = $PMCacheDir.
194
103. Crie a segunda Lookup conforme o passo 98, atribuindo o nome de
LKP_EXPIRE_DATA, conectando a porta EXPIRE_DATE do Source Qualifier na Lookup.
195
105. Configure para lê o mesmo arquivo do cache da lookup anterior.
196
107. Configure as conexões do Mapeamento.
197
109. Verifique o arquivo com o cache gerado. Qual a necessidade de armazenar o
cache em disco para futuramente reaproveitar?
198
Lab Atividade 7.5 : Lookups Ativas
Cenário:
Objetivo:
Duração:
30 minutos
199
111. No PowerCenter Designer, crie o mapa MPG_ODS_CUSTOMER_LAB07_05 na
pasta TreinamentoETL.
112. Execute o script07_05 do google drive.
113. Importe a tabela ODS_CUSTOMERS na pasta TreinamentoETL como source.
114. Importe a tabela ODS_CUSTOMERS_BILLING e ODS_CUSTOMER_ORDERS na
pasta TreinamentoETL como target.
115. Salve as alterações para refletirem no repositório.
116. Arraste os objetos (ODS_CUSTOMERS e ODS_CUSTOMERS_BILLING ) para o
seu mapa.
117. Crie uma Lookup com o nome de LKP_CUSTOMER_ORDERS selecionando a
tabela ODS_CUSTOMER_ORDERS. Prestem bastante atenção, pois a opção retornar
múltiplos registros fica disponível no momento da criação.
200
121. Observe na aba Propriedades que não é possível alterar a condição de retorno
dos registros.
201
124. Conecte as portas conforme a figura abaixo.
202
126. Conecte as portas da transformação no target.
127. Salve seu mapa e crie um workflow para executar o mapa criado.
128. Atribua o nome para o workflow de WKF_CUSTOMER_ORDERS_LAB07_05.
203
Lab Atividade 8 : Atualizando Targets no PowerCenter
Cenário:
Objetivo:
Duração:
120 minutos
204
1. Executar o script08.sql do google drive.
2. copiar o arquivo CEP.txt para o diretório
c:\Informatica\9.6.1\server\infa_shared\LKpFiles
205
7. Adicione um Router para Inserir, Atualizar e verificar os registros que não foram
carregados na tabela STG_EMPREGADO.
8. Segue o modelo do Banco de Dados da tabela.
206
9. Existem várias formas de desenvolver esse mapa, para fins didáticos adotamos esse
modelo que iremos detalhar abaixo.
207
11. Adicione uma Lookup conectada, apontando para a tabela FUNCIONARIO e
renomeie para LKP_FUNCIONARIO.
12. Adicione outra Lookup conectada, apontando para a tabela PERIODO e renomeie
para LKP_PERIODO.
208
13.Adicione outra Lookup conectada, apontando para a tabela STG_SALARIO e
renomeie para LKP_STG_SALARIO.
209
15. Adicione outra Lookup conectada, apontando para a tabela STG_EMPREGADO e
renomeie para LKP_STG_EMPREGADO. Essa lookup foi adicionada para verificar se os
registros já existem na tabela.
16. Adicione uma expressão, para tratar a faixa numérica do CEP e o resultado das
Lookups criadas. O arquivo que iremos pesquisar utiliza um intervalo para identificar
o Estado e Região.
210
17. Adicione outra Lookup conectada, essa lookup receberá os dados da expressão
criada anteriormente da porta CEP_FAIXA.
18. Renomeie a lookup para LKP_CEP_TXT. Na porta CEP_FAIXA (passo 16) conecte as
duas portas da LOOKUP .
211
19. Atribua a seguinte condição.
212
21. Adicione um Router e crie três condições.
213
23. Para o Grupo REGISTROS_NOVOS e REGISTROS_ATUALIZAR inclua uma
transformação UPDATE STRATEGY e para o REGISTROS REJEITAR aponte para um
target.
214
25. Na transformação UPD_ATUALIZAR, coloque o comando DD_UPDATE.
26. Salve o seu mapa e vamos para workflow manager, crie um workflow com o nome
de WKF_STG_EMPREGADO_LAB08
215
27. Atribua as conexões para as variáveis $Source e $Target.
216
28. Para o destino STG_EMPREGADO_REJEITADO, vamos atribuir o mesma estrutura da
tabela STG_EMPREGADO, lembrando que a rejeição é um critério que foi aplicado no
router.
217
29. Para a lookup LKP_CEP_TXT, informe o nome do arquivo.
218
Lab Atividade 9.1 : Utilizando PowerCenter para carregar a tabela
FACT_SALES.
Cenário:
Objetivo:
Duração:
50 minutos
219
1. Importe o mapa MPG_FACT_SALES_LAB09_01.xml do google drive no LAB_09 na
pasta TreinamentoETL.
2. Execute o script SCRIPT09.sql para criação das estruturas da tabela
STG01.FACT_SALES.
3. Seu mapa deve ficar semelhante a imagem abaixo.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
220
6. Edite as lookups LKP_PRODUCT e LKP_DATE informando os seus relacionamentos.
221
7. No menu Mapeamentos, selecione Parâmetros e Variávies...
8. Adicione uma nova variável, selecionando como tipo Parâmetro atribuindo o valor de
22.50
222
9. Adicione uma lookup utilizando os dados da tabela PROMOTIONS do target.
223
11. Insira a condição na Lookup.
224
13. A regra estabelecida pela diretoria é:
- Aplicar o desconto maior ou o desconto mínimo de 22.5%
225
15. Na transformação crie as portas:
COST = SELLING_PRICE;
REVENUE = SELLING_PRICE + REBATE
226
17. Conecte as portas da Agregação no target.
18. Seu mapa deve ficar parecido conforme a imagem abaixo. Salve o seu mapa e
verifique se ele está válido:
227
19. No workflow manager, crie um novo fluxo de trabalho com o nome,
WKF_FACT_SALES_LAB09_01, realizando as configurações de conexões.
21. Verifique no log se houveram erros. Por que ocorreram esses erro? Como tratar no
ETL esses erros?
______________________________________________________________
______________________________________________________________
______________________________________________________________
228
22. Verifique o resultado dos dados.
229
Lab Atividade 9.2 : Criando um Mapplet.
Cenário:
Objetivo:
Duração:
30 minutos
230
23. No PowerCenter Designer, navegue na janela do navegador e abra a pasta
TreinamentoETL.
231
25. Agora cole o arquivo copiado, você receberá uma mensagem parecida com essa.
Selecione Sim para prosseguir.
232
28. Selecione os objetos:
-LKP_PROMOTIONS;
-EXP_DESCONTO_TESTE;
-LKP_PRODUCT;
-LKP_DATE;
-AGR_FACT_SALES;
29. Com os objetos selecionados copie e clique em Mapplet Designer e crie um mapplet
com o nome de MPT_AGR_FACT_SALES.
233
30. Cole os objetos copiado no passo 29 e cole no mapplet criado.
31. Volte para o Mapping Designer e exclua os objetos que foram copiados.
234
32. Após a exclusão dos objetos seu mapa deverá ficar conforme a figura abaixo.
235
36. Salve o seu mapplet e observe que ele está inválido.
236
38. Salve o seu mapplet e valide novamente.
39. Abra novamente o Mapping Designer e arraste o seu mapplet para o mapeamento
criado conectando as portas.
40. Seu mapa deve ficar parecido com a figura abaixo. valide o seu mapeamento.
237
42. Vamos criar um arquivo de parâmetro para configurar as conexões.
43. Crie o arquivo "LAB09_02.txt" de parâmetro no diretório
c:\Informatica\9.6.1\server\infa_shared\BWParam
238
45. Edite o arquivo com os seguintes Parâmetros.
239
240
47. Como já tínhamos carregado essa tabela, informe na session para truncar os dados
antes de carregar.
241
48. Salve o workflow e execute.
49. Verifique o resultado no monitor.
242