Transformação de Joiner na Informatica com EXEMPLO
⚡ Resumo Inteligente
A transformação Joiner no Informatica é o objeto ativo e conectado que une duas fontes heterogêneas com base em uma condição de correspondência, armazenando em cache o pipeline mestre na memória enquanto o pipeline de detalhes flui através dele.
O que é transformação de marceneiro?
A transformação Joiner é uma transformação ativa e conectada que oferece a opção de criar junções no Informatica. As junções criadas usando a transformação Joiner são semelhantes às junções em bancos de dados. A vantagem da transformação Joiner é que as junções podem ser criadas para sistemas heterogêneos (bancos de dados diferentes).
Na transformação Joiner, existem duas fontes que usaremos para as junções. Essas duas fontes são chamadas de
- Fonte Mestre
- Fonte de detalhes
Nas propriedades da transformação Joiner, você pode selecionar qual fonte de dados será a principal e qual será a fonte de detalhes.
Durante a execução, a fonte principal é armazenada em cache na memória para fins de junção. Portanto, recomenda-se selecionar a fonte com menos registros como fonte principal. O pipeline principal é mantido em dois caches: um cache de índice para os valores usados na condição de junção e um cache de dados para os demais dados das linhas.
Tipos de junções na transformação Joiner
A propriedade Tipo de Junção na guia Propriedades define o que acontece com as linhas que não encontram correspondência. As seguintes junções podem ser criadas usando a transformação Junção.
- Junção externa mestre – Em uma junção mestre-externa, todos os registros da fonte de detalhes são retornados pela junção e apenas as linhas correspondentes da fonte mestre são retornadas.
- Detalhe da junção externa – Em uma junção externa de detalhes, somente as linhas correspondentes são retornadas da fonte de detalhes, e todas as linhas da fonte principal são retornadas.
- Junção externa completa – Em uma junção externa completa, todos os registros de ambas as fontes são retornados.
- Junção normal – Em uma junção normal, somente as linhas correspondentes são retornadas de ambas as fontes.
As junções externas mestras e as junções externas detalhadas são equivalentes às junções externas à esquerda em SQLCada um mantém todas as linhas de uma fonte e apenas as correspondências da outra. A tabela abaixo compara os quatro tipos com seus equivalentes em SQL.
| Tipo de junção | Fileiras mantidas do mestre | Linhas mantidas fora dos detalhes | Equivalente em SQL |
|---|---|---|---|
| Junção normal | Somente correspondências | Somente correspondências | Junção interna |
| Junção externa mestre | Somente correspondências | Todas as linhas | Junção externa esquerda na fonte de detalhes |
| Detalhe da junção externa | Todas as linhas | Somente correspondências | Junção externa à esquerda na fonte principal |
| Junção externa completa | Todas as linhas | Todas as linhas | Junção externa completa |
O tipo de junção é uma propriedade, não uma escolha estrutural, portanto pode ser alterado posteriormente sem a necessidade de reconstruir o mapa.ping ou religando quaisquer portas.
Como usar a transformação Joiner no Informatica
Neste exemplo, vamos unir as tabelas emp e dept usando a transformação Joiner. Siga os oito passos abaixo no mapa.ping Designer.
Passo 1) Crie uma nova tabela de destino chamada EMP_DEPTNAME no banco de dados usando o script abaixo e importe a tabela nos destinos do Informatica.
Baixe o arquivo emp_deptname.sql acima
Passo 2) Crie um novo mapa,ping e importe as tabelas de origem “EMP” e “DEPT” e a tabela de destino que criamos na etapa anterior. Todas as três definições agora estão na tela, como mostrado abaixo.
Passo 3) No menu Transformação, selecione a opção Criar. Em seguida, na janela Criar Transformação mostrada abaixo,
- Selecione a transformação do joiner
- Insira o nome da transformação “jnr_emp_dept”
- Selecione a opção de criação
Passo 4) Arraste e solte todas as colunas de ambos os Qualificadores de origem para a transformação Joiner. Ambos os pipelines agora estão vinculados ao jnr_emp_dept, como mostra a captura de tela.
Passo 5) Double Clique na transformação Joiner e, em seguida, na janela Editar Transformações.
- Selecione a guia de condição
- Clique no ícone adicionar nova condição
- Selecione deptno na lista de colunas mestre e de detalhes
A aba Condição agora contém a única condição de junção em deptno.
Passo 6) Então na mesma janela
- Selecione a guia de propriedades
- Selecione Junção Normal como tipo de junção
- Selecione o botão OK
A seguir, é exibida a guia Propriedades com o tipo de junção definido.
Para otimizar o desempenho, atribuímos a fonte principal ao pipeline da tabela de origem que possui menos registros. Para executar essa tarefa:
Passo 7) Double Clique na transformação Joiner para abrir a janela Editar Transformações e, em seguida,
- Selecionar guia de portas
- Selecione qualquer coluna de uma fonte específica que você deseja tornar mestre
- Selecione OK
A aba "Portas" marca o pipeline escolhido como o principal, conforme mostrado abaixo.
Passo 8) Vincule as colunas relevantes da transformação Joiner à tabela de destino. O mapaping Agora, os dados são processados a partir de ambas as fontes, através da junção com EMP_DEPTNAME.
Agora salve o mapaping e executá-lo após criar um Sessão e de gestão de documentos Para isso, a junção será criada usando o Informatica Joiner e os detalhes relevantes serão obtidos de ambas as tabelas.
Propriedades de transformação do conector
A aba Propriedades contém mais do que apenas o tipo de junção. As configurações abaixo controlam quanta memória a junção utiliza e onde os arquivos de cache são gravados.
| Configuração | O que ele controla |
|---|---|
| Tipo de junção | Normal, Master Outer, Detail Outer ou Full Outer. Define quais linhas não correspondentes serão mantidas. |
| Condições de adesão | A lista de pares de portas mestre-para-detalhe é comparada com o operador de igualdade. Várias condições são combinadas com o operador E. |
| Entrada ordenada | Declara que ambos os pipelines já chegam ordenados pelas portas de condição, o que permite ao Serviço de Integração minimizar a entrada e saída de disco. |
| Ordem de classificação principal | A ordem de classificação dos dados de origem principais, usada em conjunto com a entrada classificada. |
| Diretório de cache | Diretório no qual os arquivos de índice e cache de dados são criados. O padrão é a variável de processo $PMCacheDir. |
| Tamanho do cache de dados do Joiner | Tamanho do cache de dados que armazena os dados da linha principal. O padrão é Automático, o que permite que o Serviço de Integração o dimensione. |
| Tamanho do cache do índice Joiner | Tamanho do cache de índice que armazena os valores da condição principal. O padrão é Automático. |
| Escopo da Transformação | Aplica a junção a cada transação, a todos os dados recebidos ou a um escopo em nível de linha. |
A entrada ordenada é a configuração que vale a pena buscar primeiro. Quando ambos os pipelines chegam ordenados pelas portas de condição, o Serviço de Integração não precisa reter toda a fonte mestre antes que a correspondência comece, que é o mesmo princípio aplicado durante ajuste de desempenho de outras transformações em cache.
Regras e limitações da transformação do Joiner
Algumas restrições só aparecem quando o mapaping é validado, portanto é mais barato conhecê-los antes que as portas sejam conectadas.
- Somente a igualdade. Uma condição de junção compara portas com o operador de igualdade. Operadores de comparação como maior que, menor que ou diferente de não são aceitos na condição.
- Tipos de dados correspondentes. Em uma determinada condição, ambas as portas devem ter o mesmo tipo de dados. O Designer valida isso, portanto, colunas incompatíveis precisam ser convertidas primeiro, geralmente em uma transformação de Expressão.
- Nenhuma estratégia de atualização a montante. Uma transformação Joiner não pode ser usada quando qualquer um dos pipelines de entrada contém uma transformação Update Strategy.
- Sem sequência Generator imediatamente antes disso. Conectando uma sequência Generator A transformação imediatamente a montante do Joiner não é suportada.
- O armazenamento em cache não pode ser desativado. O pipeline principal é sempre armazenado em cache, razão pela qual a origem menor pertence ao lado principal e por que o dimensionamento do cache é importante em junções grandes.
A junção de três fontes requer duas transformações Joiner encadeadas, pois cada uma aceita exatamente um pipeline mestre e um pipeline de detalhes. Quando a segunda fonte é uma pequena tabela de referência lida linha por linha, em vez disso, Transformação de pesquisa Geralmente é o design mais simples.








