Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ODI Series - Importar Arquivos Texto para Tabelas

4,364 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
  • Be the first to comment

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.

×