odi series - importar arquivos texto para tabelas

19
ODI Serie s March 11 2012 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. Importand o Tabelas

Upload: caio-lima

Post on 11-Jun-2015

3.067 views

Category:

Technology


3 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: ODI Series - Importar Arquivos Texto para Tabelas

ODI Series

March 11

2012

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.

Importando Tabelas

Page 2: ODI Series - Importar Arquivos Texto para Tabelas

Visão Geral

Uma tarefa comum realizada com o Oracle Data Integrator é importar dados de um arquito texto e atualizar uma tabela do banco de dados relacional. Esta tarefa é comum quando temos sistemas que precisam ser alimentados mas não possuem conectores, ou esses conectores tem um custo muito elevado e a solução de integração se resume em gerar um arquivo texto para que ele seja utilizado na carga dos dados.

Este tutorial tem como missão principal guiar o leitor através dos passos necessários para importar esses dados. No post anterior caminhamos pelos passos para gerar um arquivo 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 o projeto e as interfaces necessárias, assim como parametrizar todo o ambiente para a leitura do arquivo texto e geração da tabela e o módulo Operator para validar a execução do processo.

Cenário de Trabalho

Imagine-se trabalhando como DBA (Database Administrator) para uma empresa de Telecomunicações. Nesta empresa, você é responsável por gerenciar os bancos de dados e suprir as necessidades de integração de dados com outros sistemas. Em particular você é responsável por todas as atividades de Carga, transformação e validaçã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 e nã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 a criação de um novo ambiente de trabalho.

Com o ambiente criado será necessário criar um projeto e um interface para exportar os dados da tabela relacional para o arquivo texto e lembre-se sempre ORGANIZE SEU PROJETO NO INÍCIO.

Page 3: ODI Series - Importar Arquivos Texto para Tabelas

Pré-requisitos

Antes 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 posterior2. Ter iniciado os serviços e componentes do banco de dados3. Ter instalado o Oracle Data Integrator 10g4. 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.

Page 4: ODI Series - Importar Arquivos Texto para Tabelas

ODI - Configuração do Projeto

Para 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.

Page 5: ODI Series - Importar Arquivos Texto para Tabelas

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.

Page 6: ODI Series - Importar Arquivos Texto para Tabelas

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.

Page 7: ODI Series - Importar Arquivos Texto para Tabelas

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:

Page 8: ODI Series - Importar Arquivos Texto para Tabelas

ODI – Criação da Interface para Importação

Podemos perceber que não fizemos a configuração de Modelo de Dados tão pouco de Topologia, isto devido ao fato que iremos utilizar a mesma tabela criada no artigo anterior (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 de acordo com a figura abaixo:

Page 9: ODI Series - Importar Arquivos Texto para Tabelas

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 ValorName Imp-ArqTxt-TblOptimization Contexto GlobalStaging Area Different From Target

Marcar

Selecione LOGICAL_DW_ORIGEM

Page 10: ODI Series - Importar Arquivos Texto para Tabelas

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.

Page 11: ODI Series - Importar Arquivos Texto para Tabelas

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 MappingCD_CITY (null) CIT.CD_CITIESNM_CITY (null) CIT.NM_CITIESSTATE (null) CIT.STATE

7. Com a configuração da aba Diagram finalizada, clique na aba Flow. A primeira visão que teremos e a mesma da figura abaixo:

Page 12: ODI Series - Importar Arquivos Texto para Tabelas

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:

Na caixa Source devemos selecionar o LKM que definimos no primeiro passo deste artigo, LKM File to SQL.

Na caixa Target + Staging Area, devemos selecionar o IKM correto, IKM SQL Incremental Update e marcar as opções da caixa Option como Yes de acordo com o demonstrado na tabela abaixo:

Option Value

Page 13: ODI Series - Importar Arquivos Texto para Tabelas

INSERT YESUPDATE YESCOMMIT YESDELETE_TEMPORARY_OBJECTS YES

Page 14: ODI Series - Importar Arquivos Texto para Tabelas

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 interface, neste caso fiz a pesquisa em All

Page 15: ODI Series - Importar Arquivos Texto para Tabelas

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 acabamos de carregar está com este pequeno

Page 16: ODI Series - Importar Arquivos Texto para Tabelas

erro. Para corrigir edite o arquivo texto 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 foi corrigida, isso se deve ao fato de sido utilizado um IKM que permitiu a Inserção de registros quando os mesmos não existiam e quando existiam permitiu a Atualização do mesmo. Sempre quando for começar uma interface planeje sempre toda a execução do código e as necessidade de comandos e permissões dentro do banco de dados.