Dicas de vida para desenvolvedores: usando o SQ (qualificador de origem) com eficiência no Informatica Power Center

Olá a todos os Habroresidentes!

Abrimos o primeiro blog da empresa RDTEX com hackers para desenvolvedores. Esperamos que um dos leitores tire proveito deles.

Os hackers de vida foram inventados no decorrer do trabalho em um projeto para transferir dados de um sistema para outro para a subsequente construção de relatórios em um dos principais bancos da Federação Russa.

Tecnologias utilizadas:

Sistema de origem de dados - Oracle RDBMS (versão 11.2.0.4.0)
Sistema receptor de dados - RDBMS Oracle (versão 11.2.0.4.0)
Barramento de Integração - Informatica (versão 10.1.1)

Durante a implementação de um grande projeto de integração, encontramos os seguintes problemas:

1. Uso ineficiente do SQ [Qualificador de origem] no Informatica Power Center

Ao usar o SQ [Qualificador de origem] no Informatica Power Center, uma restrição no número de caracteres de entrada foi revelada. O número máximo de caracteres permitido é 32767. Um exemplo do uso irracional do Qualificador de Origem é mostrado na figura abaixo:


Figura 1 Captura de tela do SQ Informatica Power Center

Essa captura de tela mostra que os espaços consomem espaço de caracteres, como resultado de consultas SQL complexas não se ajustarem totalmente (ou seja, são truncadas quando são inseridas no Qualificador de Origem).

A figura abaixo mostra o uso correto do Qualificador de origem (as alterações são destacadas em vermelho):


Figura 2 Captura de tela do SQ Informatica Power Center com uma consulta modificada

Ir para a próxima linha e alinhamento custou o enésimo número de caracteres, removendo os quais conseguimos ajustar todo o código SQL.

2. Conversão incorreta de números infinitamente grandes

Números infinitamente grandes foram carregados no banco de dados Oracle no seguinte formato:

1267650600228230000000000000000

E eles devem ser carregados no formato:

1267650600228229401496703205376
I.e. os valores foram arredondados a partir de uma determinada posição de dígito.

Oferecemos a seguinte solução:

Durante o desenvolvimento de mapeamentos no Informatica Power Center, o formato do campo (por exemplo, string) é imediatamente definido em um determinado estágio para valores que definitivamente serão grandes, enquanto:

  • Se usarmos o formato decimal e se os valores tiverem até 28 caracteres, será necessário ativar Propriedades → "Ativar alta precisão" → "Sim" nas propriedades do fluxo de trabalho no Workflow Manager.
  • Se usarmos o formato duplo, nesse caso, valores com mais de 15 caracteres (por exemplo, 20) podem chegar a esse atributo, então o valor será cortado para 15 dígitos significativos e colocado zero (0) no restante (ou seja, os últimos 5 caracteres serão zero) ) Nesse caso, é melhor colocar o formato da string e aumentar o tamanho para o desejado (por exemplo, string20).

Para resumir o uso da ferramenta, é possível distinguir as seguintes vantagens :

  1. a ferramenta é conveniente para transferir uma grande quantidade de dados, calculada em terabytes (por exemplo, até 25 a 30 tb), especialmente se você precisar transferi-los com um número mínimo de conversões (quase um para um);
  2. Possibilidade de "puxar" automático de atributos (opção Propagar atributos), bem como "realçar" dentro do mapeamento (de onde e onde os dados são extraídos);
  3. a capacidade de selecionar o modo operacional de uma ferramenta ETL e ELT (depende do projeto de TI específico).

E algumas desvantagens para a objetividade da imagem:

  1. falta de lógica “complexa” de transformação de dados;
  2. Do ponto de vista do suporte da própria ferramenta e do entendimento da lógica das transformações individuais, ela é inferior a alguns concorrentes (por exemplo, Oracle Data Integrator).

Source: https://habr.com/ru/post/pt433880/


All Articles