Transformação de pesquisa na Informatica (exemplo)

⚡ Resumo Inteligente

A transformação de pesquisa (Lookup) no Informatica lê uma tabela relacional, um arquivo plano, uma visualização ou um sinônimo e retorna os valores correspondentes para cada linha de entrada, funcionando como uma junção em que um dos lados é a fonte de pesquisa.

  • 🔎 As condições determinam a partida: A aba Condição contém a comparação, como DEPTNO = DEPTNO1, que decide qual linha de pesquisa será retornada.
  • 🧪 Exemplo resolvido: Mapa dos Seteping As etapas do Designer buscam os nomes dos departamentos de DEPT para um destino EMP_DEPTNAME sem um Joiner.
  • ???? Conectado ou desconectado: Uma pesquisa conectada fica no pipeline, enquanto uma pesquisa desconectada é chamada a partir de uma expressão com o qualificador :LKP.
  • ⚖️ Passivo por padrão: Retornar uma única linha mantém a transformação passiva, e retornar todas as linhas correspondentes a torna ativa.
  • ♻️ Objetos reutilizáveis: Marcar a opção "Tornar Reutilizável" transforma uma transformação em um objeto que pode ser reutilizado em vários mapas.pings podem compartilhar.
  • ⚠️ Promoção unilateral: Uma transformação promovida a reutilizável não pode ser rebaixada, portanto, a mensagem de confirmação merece uma leitura atenta.

Transformação de pesquisa na Informatica

O que é transformação de pesquisa?

A transformação de pesquisa (Lookup) é uma transformação usada para buscar dados relevantes em uma origem, qualificador de origem ou destino. Basicamente, é um tipo de operação de junção em que uma das tabelas de junção é a tabela de dados de origem e a outra tabela de junção é a tabela de pesquisa. A própria origem da pesquisa pode ser uma tabela relacional, uma visão, um sinônimo ou um arquivo simples.

A transformação é passiva enquanto retorna uma única linha para cada linha de entrada. A partir do PowerCenter 9.x, também é possível criá-la para retornar todas as linhas que correspondem à condição, e nesse modo ela se torna uma transformação ativa. A escolha é feita no momento da criação da transformação e não pode ser alterada posteriormente.

Existem duas maneiras de colocá-lo em um mapa.pingE a diferença determina como o valor retornado chega ao restante do fluxo de trabalho.

Aspecto Pesquisa conectada Pesquisa desconectada
Posição Localiza-se dentro do pipeline e recebe valores da transformação anterior. Fica fora do pipeline e é chamado a partir de uma expressão.
Como é chamado As linhas fluem para dentro de suas portas de entrada. Chamado com o qualificador de referência :LKP
Valores retornados Diversas portas de saída podem ser interligadas a jusante. Um dos valores de retorno é a expressão que fez a chamada.
Uso típico Cada linha precisa das colunas pesquisadas. A pesquisa só é necessária para algumas linhas, ou a mesma pesquisa é chamada de vários lugares.

Em tópicos anteriores, usamos o Transformação de marceneiro Para unir as tabelas “emp” e “dept” e obter os nomes dos departamentos, nesta seção, implementaremos isso usando a transformação Lookup.

Como criar transformação de pesquisa

A seguir, são apresentados os passos para criar uma transformação de pesquisa (Lookup) no Informatica.

Passo 1) Crie um novo mapaping Com EMP como origem e EMP_DEPTNAME como destino. O Mapaping A tela do designer então contém a fonte, seu qualificador de fonte e a definição de destino.

Mapaping Tela de design com a origem EMP, seu qualificador de origem e o destino EMP_DEPTNAME.

Passo 2) Crie uma nova transformação usando o menu Transformação e, em seguida, na janela Criar Transformação:

  1. Selecione a transformação Lookup como a transformação.
  2. Insira o nome da transformação “lkp_dept”
  3. Selecione a opção de criação

Crie uma janela de transformação com a opção "Transformação de pesquisa" selecionada e o nome "lkp_dept" inserido.

Passo 3) Isso abrirá a janela da tabela de pesquisa. Nessa janela:

  1. Botão Selecionar fonte
  2. Selecione a tabela DEPT
  3. Selecione o botão OK

Selecione a caixa de diálogo Tabela de Pesquisa com o botão Origem selecionado e a tabela DEPT destacada.

Passo 4) Uma transformação de pesquisa será criada com as colunas da tabela DEPT. Agora, selecione o botão "Concluído". O objeto lkp_dept agora contém DEPTNO, DNAME e LOC como portas de pesquisa.

A transformação de pesquisa lkp_dept foi criada com as colunas da tabela DEPT como portas de pesquisa.

Passo 5) Arraste e solte a coluna DEPTNO do Qualificador de Origem para a transformação de Pesquisa. Isso criará uma nova coluna DEPTNO1 na transformação de Pesquisa. Em seguida, vincule a coluna DNAME da transformação de Pesquisa à tabela de destino.

A transformação Lookup irá pesquisar e retornar o nome do departamento com base no valor de DEPTNO1. DEPTNO1 é a porta de entrada que contém o número do departamento do funcionário, enquanto DEPTNO permanece a porta lida da tabela de pesquisa DEPT.

DEPTNO vinculado do qualificador de origem para lkp_dept e DNAME vinculado ao destino EMP_DEPTNAME

Passo 6) Double Clique na transformação Pesquisa. Em seguida, na janela de edição da transformação:

  1. Selecione a guia de condição
  2. Defina a coluna de condição como DEPTNO = DEPTNO1
  3. Selecione o botão OK

Na guia Condição da janela Editar Transformações, insira a condição DEPTNO = DEPTNO1.

Passo 7) Vincule as colunas restantes do qualificador de origem à tabela de destino.

Colunas restantes do qualificador de origem vinculadas à tabela de destino EMP_DEPTNAME

Agora, salve o mapa,ping e executá-lo após criar a sessão e o fluxo de trabalho. Este mapaping irá obter os nomes dos departamentos usando a transformação Lookup.

A transformação de pesquisa está configurada para pesquisar na tabela DEPT, e a condição de junção é definida com base no número do departamento. Se mais de uma linha da tabela DEPT atender à condição, a propriedade "Política de pesquisa em correspondência múltipla" na guia "Propriedades" decide qual valor será retornado.

Transformação Reutilizável

Uma transformação normal é um objeto que pertence a um mapa.ping e pode ser usado dentro desse mapa.ping apenas. No entanto, ao tornar uma transformação reutilizável, ela pode ser reutilizada em vários mapas.pings.

Por exemplo, uma transformação de pesquisa que busca detalhes do funcionário com base no número do funcionário pode ser usada em vários mapas.pingsempre que forem necessários detalhes do funcionário.

Ao usar uma transformação reutilizável, reduz-se o trabalho excessivo de recriar a mesma funcionalidade. Cada mapaping Contém uma instância do objeto armazenado, portanto, uma alteração feita na transformação reutilizável afeta todas elas.

Como criar uma transformação reutilizável

A seguir, apresentamos os passos para criar uma transformação reutilizável.

Passo 1) Abra o mapaping que está passando por essa transformação, aqui estamos nós fazendo a Transformação de classificação reutilizável.

Mapaping aberto no Designer com a transformação Rank que está prestes a ser tornada reutilizável

Passo 2) Double Clique na transformação para abrir a janela de edição da transformação. Em seguida:

  1. Selecione a guia Transformação na janela
  2. Marque a caixa de seleção para tornar a transformação reutilizável
  3. Selecione sim na janela de confirmação
  4. Selecione OK na janela de propriedades da transformação.

Na guia Transformação da janela Editar Transformações, a caixa de seleção Tornar Reutilizável está marcada.

Isso tornará a transformação reutilizável. Vale a pena ler a janela de confirmação no terceiro item antes de aceitá-lo: promover uma transformação para reutilizável é uma alteração irreversível no Designer, e o objeto não pode ser rebaixado posteriormente. Onde um único mapaping Se precisar de uma cópia própria, arraste o objeto reutilizável para a tela enquanto mantém pressionada a tecla Ctrl para criar uma instância não reutilizável.

Perguntas Frequentes

Um cache carrega a fonte de pesquisa na memória uma única vez, de modo que cada linha seja correspondida localmente em vez de consultar o banco de dados. O uso de cache é adequado para fontes de pesquisa pequenas ou lidas repetidamente; uma pesquisa sem cache consulta a fonte para cada linha recebida.

Utilize uma tabela de pesquisa (Lookup) quando um dos lados for uma tabela de referência pequena e apenas algumas colunas forem necessárias, especialmente quando a mesma referência for lida de vários locais. Uma tabela de junção (Joiner) é adequada para uma junção genuína de dois grandes pipelines heterogêneos.

A política de pesquisa na propriedade de correspondência múltipla decide. Ela pode reportar um erro ou retornar o primeiro, o último ou qualquer valor correspondente. Optar por retornar todos os valores correspondentes ativa a transformação e deve ser configurada no momento da criação.

Geralmente, isso ocorre porque a fonte de dados da pesquisa é grande. Uma pesquisa sem cache consulta o banco de dados uma vez por linha, enquanto uma pesquisa com cache paga o custo de compilação antecipadamente. Remover portas de pesquisa não utilizadas e restringir a consulta de pesquisa ajudam nesse processo.

O aprendizado de máquina é usado em ferramentas modernas de integração de dados para sugerir correspondências de colunas entre uma tabela de origem e uma tabela de referência, além de sinalizar as consultas que consomem muito tempo de execução da sessão. Cada sugestão ainda precisa ser verificada em relação aos dados reais.

O Copilot auxilia com o texto ao redor do mapa.ping Em vez da tela do Designer: procure por substituições de SQL, arquivos de parâmetros e scripts que executam fluxos de trabalho. Ele não consegue ver o repositório, portanto, os nomes das portas e as condições devem ser verificados manualmente.

Uma transformação reutilizável é um único objeto armazenado compartilhado por vários mapas.pingUm mapplet é um conjunto reutilizável de transformações, com grupos de entrada e saída, que encapsula toda uma parte da lógica em vez de uma única etapa.

Nenhuma linha na fonte de pesquisa satisfez a condição para essas linhas de entrada. Verifique se há espaços em branco à direita, diferenças entre maiúsculas e minúsculas e incompatibilidades de tipo de dados entre as duas portas, visto que a comparação é exata.

Resuma esta postagem com: