ODI Series - Importar Arquivos Texto para Tabelas

3,832 views
3,586 views

Published on

Este tutorial demonstra os passos necessários para cria um projeto e uma interface no Oracle Data Integrator (ODI) para importar um arquivo texto para uma tabela do banco de dados relacional.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,832
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
259
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

ODI Series - Importar Arquivos Texto para Tabelas

  1. 1. March 11 2012ODISeriesEste tutorial demonstra os passos necessários para cria umprojeto e uma interface no Oracle Data Integrator (ODI) Importandopara importar um arquivo texto para uma tabela do bancode dados relacional. Tabelas
  2. 2. Visão GeralUma tarefa comum realizada com o Oracle Data Integrator é importar dados de umarquito texto e atualizar uma tabela do banco de dados relacional. Esta tarefa écomum quando temos sistemas que precisam ser alimentados mas não possuemconectores, ou esses conectores tem um custo muito elevado e a solução deintegração se resume em gerar um arquivo texto para que ele seja utilizado na cargados dados.Este tutorial tem como missão principal guiar o leitor através dos passos necessáriospara importar esses dados. No post anterior caminhamos pelos passos para gerar umarquivo texto e iremos utilizar essa mesma estrutura para realizar a tarefa de hoje.Serão utilizados os módulos Designer e Operator. Com o Designer iremos criar oprojeto e as interfaces necessárias, assim como parametrizar todo o ambiente para aleitura do arquivo texto e geração da tabela e o módulo Operator para validar aexecução do processo.Cenário de TrabalhoImagine-se trabalhando como DBA (Database Administrator) para uma empresa deTelecomunicações. Nesta empresa, você é responsável por gerenciar os bancos dedados e suprir as necessidades de integração de dados com outros sistemas. Emparticular você é responsável por todas as atividades de Carga, transformação evalidação dos dados.Para começar esse projeto você precisa criar ou ter um ambiente de trabalho(repositórios Master e Work no ODI), caso queira criar um novo ambiente no ODI enão sabe como leia o artigo - http://idcube.blogspot.com/2012/02/odi-tutorial-iniciando-um-projeto.html, neste artigo você irá encontrar todo o necessário para acriação de um novo ambiente de trabalho.Com o ambiente criado será necessário criar um projeto e um interface para exportaros dados da tabela relacional para o arquivo texto e lembre-se sempre ORGANIZE SEUPROJETO NO INÍCIO.
  3. 3. Pré-requisitosAntes de iniciar as atividades do projeto, garanta que seu ambiente contempla os pré-requisitos abaixo mencionados: 1. Ter instalado o banco de dados Oracle Database 10g ou posterior 2. Ter iniciado os serviços e componentes do banco de dados 3. Ter instalado o Oracle Data Integrator 10g 4. Ter criado o ambiente de trabalho do ODI, repositórios, usuários e etc. 5. Ter feito o tutorial ODI Series – Exportar Tabelas para Arquivo Texto - http://idcube.blogspot.com/2012/03/odi-series-exportar-tabelas-para.html, neste artigo você irá encontrar as parametrizações necessárias para a manipulação de arquivo texto.
  4. 4. ODI - Configuração do ProjetoPara criar um novo projeto com o Oracle Data Integrator, siga os seguintes passos: 1. Inicie o ODI Designer: Start > Programs > Oracle > Oracle Data Integrator > Designer. Selecione OracleDI Tutorial Series Work Repository na tela de Login (campo Login Name). Entre o usuário e senha de acesso, DW_DBA no campo user e DW_DBA no campo password. Clique OK para efetuar o Login. 2. Dentro do módulo Designer, na pasta Projects, clique no ícone Insert Project . 3. Uma nova tela aparecerá, configure o campo Name com Import-Texto- Tabela, este campo é o nome do novo projeto que estamos criando para este artigo. Veja que o campo Code é carregado automaticamente. Quando terminar clique no botão OK. Observe que ao lado esquerdo da tela de Projetos irá aparecer o nome do Projeto que acabamos de criar conforme as figuras abaixo.
  5. 5. 4. Vamos parametrizar os Knowledge Modules necessários para importar o arquivo texto para dentro da nossa tabela de Cidades. Precisamos do IKM SQL Incremental Update, LKM File to SQL e CKM SQL. Para importar um KM, expanda a pasta de Projetos no painel direito, encontre o diretório Knowledge Modules e clique com o botão direito, selecione a opção Import Knowledge Modules.
  6. 6. 5. Na próxima tela iremos selecionar os KMs que vamos utilizar, clique no Loading (LKM) e com o botão direito escolha Import KM e após essa seleção encontre na tela o KM a ser importado LKM File to SQL, depois repita o procedimento para o Integration (IKM) e selecione o KM IKM SQL Incremental Update e o último passo é para o Check (CKH) e selecione o KM CKM SQL conforme a figura abaixo demonstra, após as seleções clique OK.
  7. 7. 6. Após importar os KMs a visão da pasta, a estrutura de projeto deverá ser idêntica a que apresento na figura abaixo:
  8. 8. ODI – Criação da Interface para ImportaçãoPodemos perceber que não fizemos a configuração de Modelo de Dados tão pouco deTopologia, isto devido ao fato que iremos utilizar a mesma tabela criada no artigoanterior (SRC_CITIES) e também iremos utilizar o mesmo Arquivo Texto(EXP_CIDADES.TXT).Faça um backup do arquivo EXP_CIDADES.TXT, e em seguida preencha o arquivo deacordo com a figura abaixo:
  9. 9. Para criar a nossa interface siga os passos abaixo: 1. No módulo ODI Designer, clique na aba Project. Expanda nosso projeto Import- Texto-Tabelas, então expanda a pasta Import-Txt-Tbl. Clique com o botão direito no componente Interfaces e selecione Insert Interface. 2. Na próxima tela, configure os parâmetros da aba Definition de acordo com a tabela abaixo: Parâmetro Valor Name Imp-ArqTxt-Tbl Optimization Contexto Global Staging Area Different From Target Marcar Selecione LOGICAL_DW_ORIGEM
  10. 10. 3. Clique na aba Diagram, no painel esquerdo da tela clique na aba Models para selecionar os modelos de dados de origem e destino. Arraste o modelo SRC_CITIES para a janela Target DataStore e o modelo CITIES (EXP_CIDADES.TXT) para a janela Sources.4. No momento em que você arrastou o modelo SRC_CITIES para a janela Target Datastore apareceu uma mensagem igual a figura abaixo, essa mensagem indica que no modelo de origem e no modelo de destino tem alguns campos e/ou todos com o mesmo nome, logo é possível fazer o mapeamento dos campos automaticamente e é isso que iremos fazer. Clique no botão Yes.5. Se você ver bem o único campo preenchido automaticamente foi o campo STATE. Conforme explicamos anteriormente.
  11. 11. 6. Para mapear os demais campos clique no campo Mapping e uma tela igual a que é mostrada abaixo irá aparecer, basta selecionar e arrastar o campo contido na tabela na janela Sources. Outra forma também é digitando o conteúdo dos campos. Field Name Mapping CD_CITY (null) CIT.CD_CITIES NM_CITY (null) CIT.NM_CITIES STATE (null) CIT.STATE7. Com a configuração da aba Diagram finalizada, clique na aba Flow. A primeira visão que teremos e a mesma da figura abaixo:8. Clique sobre cada uma das caixas, perceba que a primeira caixa representa o ambiente origem ou Source, a caixa do meio é a área de transição ou Staging Area e a última caixa é o ambiente destino ou Target. Ao clicar sobre cada uma das caixas teremos as visões mostradas nas figuras abaixo:
  12. 12. Na caixa Source devemos selecionar o LKM que definimos no primeiro passodeste artigo, LKM File to SQL.Na caixa Target + Staging Area, devemos selecionar o IKM correto, IKM SQLIncremental Update e marcar as opções da caixa Option como Yes deacordo com o demonstrado na tabela abaixo: Option ValueINSERT YESUPDATE YESCOMMIT YESDELETE_TEMPORARY_OBJECTS YES
  13. 13. 9. Com a configuração da aba Flow finalizada, clique na aba Control. E selecione o KM correpondente, neste caso é o CKM SQL.10. Terminada essas configurações clique no botão Apply e a partir deste instante você poderá clicar no botão OK e sair da interface ou clicar no botão Execute e submeter a interface, ou seja, executar o código que acabamos de criar. Vamos optar pela segunda opção, clique no botão Executar. Selecione o Contexto Global e clique no botão OK. Em seguida clique no botão OK novamente.11. Agora que a interface Imp-ArqTxt-Tbl foi executa devemos verificar se foi executada com sucesso e em seguida validar a carga dos dados na tabela. Abra o módulo Operator e no painel de sessões procure a execução da sua
  14. 14. interface, neste caso fiz a pesquisa em All Executions e como podem ver na figura abaixo a interface foi executada com sucesso.12. Agora vamos verificar se a tabela foi carregada corretamente. Abra o SQL Developr e monte um código SQL para listar apenas o Estado do Rio de Janeiro conforme a figura acima. Veja que a cidade com o código 9608 está com o nome de AMERICANA, mas deveria ser NITEROI, o arquivo que
  15. 15. acabamos de carregar está com este pequeno erro. Para corrigir edite o arquivotexto e altere AMERICANA por NITEROI e execute a interface novamente.Após a correção do arquivo e re-execução da interface, veja que a tabela foicorrigida, isso se deve ao fato de sido utilizado um IKM que permitiu a Inserçãode registros quando os mesmos não existiam e quando existiam permitiu aAtualização do mesmo. Sempre quando for começar uma interface planejesempre toda a execução do código e as necessidade de comandos epermissões dentro do banco de dados.

×