Introdução ao IICS - Parte 4

 


Transformations

Uma transformação é um objeto de mapeamento que modifica os dados no mapeamento ou os passa para a próxima etapa do mapeamento.

No IICS, uma transformação pode ser de dois tipos:

  • Ativa: É quando a transformação altera o número de linhas que passam por ela.

Por exemplo, uma transformação de Filtro altera o número de linhas passadas por ela, dependendo dos critérios especificados na condição de filtro.

  • Passiva: É quando a transformação não altera o número de linhas que passam por ela.

Por exemplo, uma transformação de Expressão é uma transformação passiva, pois transforma os dados com base na expressão especificada. No entanto, ele não altera o número de linhas que passam por ele.

Transformação de origem (Source Transformation)

A transformação de origem é uma transformação ativa que lê dados de uma origem.

Ao configurar uma transformação de Origem, você deve especificar uma conexão e um objeto. Você também pode configurar opções avançadas com base no tipo de conexão.

Transformação de Alvo (Target Transformation)

A transformação de Destino define a conexão de destino e o objeto no qual o mapeamento grava os dados transformados.

Ao configurar o destino, você deve especificar o tipo de operação (inserir, atualizar, upsert, excluir) que o mapeamento executará no destino. Para mapear os dados com sucesso, você precisa definir o mapeamento de campo entre os campos de entrada e de destino.

Para uma transformação de destino, você também pode criar o objeto de destino em tempo de execução, especificando o nome do arquivo de destino, ou pode usar expressões para gerar o nome do arquivo.

Transformação de filtro (Filter Transformation)

A transformação de Filtro filtra dados do fluxo de dados dependendo da condição do filtro.

Uma condição de filtro é uma expressão que retorna um valor TRUE ou FALSE.

Quando a condição de filtro retorna um valor TRUE para uma linha, a transformação de Filtro passa a linha para o restante do fluxo de dados.

Quando a condição do filtro retorna um valor FALSE, a transformação do Filtro elimina a linha.

Você pode aplicar dois tipos de filtros em um mapeamento:

  • Filtro simples (Simple filter): Uma condição de filtro simples inclui um nome de campo, um operador de comparação e um valor. Quando você define várias condições de filtro simples em um mapeamento, a tarefa avalia as condições na ordem especificada e avalia as condições de filtro usando o operador lógico AND. A tarefa retorna as linhas que correspondem a todas as condições do filtro.
  • Filtro Avançado (Advanced filter): Use uma condição de filtro avançada para definir expressões complexas. Ao configurar uma expressão complexa, você pode incorporar várias condições usando os operadores lógicos AND ou OR.

Observação: Para melhorar o desempenho do Job, você pode colocar a transformação de Filtro perto das fontes de mapeamento para remover dados desnecessários do fluxo de dados.

Transformação de Expressão (Expression Transformation)

Uma transformação de Expressão é uma transformação passiva que permite criar novos campos no mapeamento.

Ao criar um novo campo, você deve especificar o nome, o tipo, a precisão e a escala do campo. Existem dois tipos de campos no IICS:

  • Campo de expressão (Expression field): Define os cálculos que você executa em um campo de entrada e atua como o campo de saída para os resultados. Você pode usar o campo no fluxo de dados.
  • Campo variável (Variable field): Contém uma variável na expressão. Você pode usar este campo para armazenar dados temporariamente, comparar valores ou simplificar expressões complexas. Um campo variável não está disponível para uso no fluxo de dados downstream.

Transformação de classificação (Rank Transformation)

A transformação de Classificação é uma transformação ativa que limita os registros a um intervalo superior ou inferior.

Você pode usar a transformação de Classificação para limitar registros numéricos ou de string.

Observação: Quando você executa um mapeamento que contém uma transformação de Classificação, o Data Integration armazena em cache os dados de entrada até que possa realizar os cálculos de classificação.

Transformação de mascaramento de dados (Data Masking Transformation)

A transformação de mascaramento de dados é uma transformação passiva que mascara dados confidenciais como dados de teste realistas para ambientes de não produção.

A transformação de Mascaramento de Dados modifica os dados de origem com base nas regras de mascaramento que você configura para a coluna selecionada. Você pode usar as seguintes técnicas de mascaramento com suporte do IICS:

  • Mascaramento de cartão de crédito: Aplica um formato de máscara de cartão de crédito a colunas que contêm números de cartão de crédito. Mascaramento de email: Aplica um formato de máscara de e-mail a colunas que contêm endereços de e-mail.
  • Mascaramento de endereço IP: Aplica um formato de máscara de endereço IP a colunas que contêm endereços IP.
  • Mascaramento de chave: Produz resultados determinísticos para os mesmos dados de origem e valor de semente.
  • Mascaramento de telefone: Aplica um formato de máscara de número de telefone a colunas que contêm números de telefone.
  • Máscara aleatória: Produz resultados aleatórios para os mesmos dados de origem e formato de máscara.
  • Mascaramento SIN: Aplica um formato de máscara de número do Seguro Social às colunas que contêm números do Seguro Social.
  • Mascaramento SSN: Aplica um formato de máscara de número do Seguro Social às colunas que contêm números do Seguro Social.
  • Máscara de substituição personalizada: Substitui uma coluna de dados por dados semelhantes não relacionados de um dicionário personalizado.
  • Máscara de substituição: Substitui uma coluna de dados por dados não relacionados semelhantes de um dicionário padrão.
  • Mascaramento de URL: Aplica um formato de máscara de URL ao tipo de coluna que contém URLs.

Transformação de União (Union Transformation)

A transformação de União é uma transformação ativa que você usa para mesclar dados de vários grupos de entrada em um único grupo de saída.

A transformação de União funciona como a instrução UNION ALL SQL. Você também pode adicionar, alterar ou remover campos específicos ao mesclar fontes de dados com uma transformação de União.

Em tempo de execução, a tarefa de mapeamento lê os dados de todas as fontes simultaneamente. Conforme o mapeamento é executado, ele mescla os dados em um único grupo de saída com base nos mapeamentos de campo.

Transformação de junção

Uma transformação de junção é uma transformação ativa que une dados de duas fontes heterogêneas relacionadas.

A transformação de Join associa dados com base nas condições de associação e no tipo de associação.

Uma condição de junção corresponde aos campos entre as origens e o tipo de junção define o conjunto de dados que está incluído nos resultados.

Ao vincular uma transformação à transformação de junção, você precisa conectá-la ao grupo Principal ou Detalhe.

Para melhorar o desempenho do trabalho, é recomendável tornar a origem com o conjunto de dados menor como grupo Mestre.

Transformação de Lookup (Lookup Transformation)

A transformação Lookup permite que você execute pesquisas em tabelas relacionais, arquivos simples, sinônimos e exibições.

Ao configurar uma transformação de Lookup, você precisa definir o objeto de pesquisa, a conexão de pesquisa, a condição de pesquisa e os valores de retorno.

Uma transformação de Lookup passiva retorna uma linha. Uma transformação de Lookup ativa retorna mais de uma linha.

Você também deve especificar como a pesquisa se comportará se várias correspondências forem encontradas durante a pesquisa.

Por exemplo, você pode escolher retornar qualquer linha que corresponda, retornar a primeira linha, retornar a última linha ou relatar um erro e assim por diante.

Existem dois tipos de pesquisa no IICS:

  • Lookup Desconectada: Uma transformação de Lookup Desconectada não está conectada à origem nem ao destino. Você pode usar a transformação de Lookup Desconectada quando quiser que a pesquisa retorne apenas um valor. Você pode reutilizar a pesquisa várias vezes em um mapeamento. Você pode usar uma pesquisa desconectada apenas com um banco de dados ou fontes de dados de arquivo simples.
  • Lookup Dinâmica: Para configurar uma transformação de Lookup para ser dinâmica, use um cache de pesquisa dinâmica. Você pode habilitar a opção de cache de Lookup na guia Avançado da seção Propriedades da transformação de Lookup.

O cache de Lookup dinâmica atualiza o cache com base nas ações definidas na tarefa. Portanto, se a tarefa usar a Lookup várias vezes, as transformações downstream podem usar dados atualizados. Você pode usar um cache de Lookup dinâmica para manter o cache de Lookup sincronizado com o destino. Você também pode usar um cache de Lookup dinâmica se os dados de origem contiverem chaves primárias duplicadas. Você não pode usar uma origem, destino ou Lookup parametrizada com uma transformação de Lookup que usa um cache dinâmico.

Transformação SQL (SQL Transformation)

Essa transformação é usada para chamar uma Stored procedure ou stored function ou executar uma consulta em um banco de dados.

A transformação SQL pode ser ativa e passiva.

Quando a transformação chama uma Stored procedure ou função, ela atua como uma transformação Passiva.

A transformação atua como Ativa ao processar uma query.

A transformação SQL pode processar os seguintes tipos de instruções SQL:

  • Stored procedure ou stored function;
  • Query salva ou query inserida pelo usuário.

Quando a transformação SQL processa uma Stored procedure ou função, ela passa alguns parâmetros de entrada.

A Stored procedure ou função passa os valores de retorno para os campos de saída da transformação.

Você pode configurar uma transformação SQL para processar uma Stored procedure como uma transformação não conectada, onde outra transformação no pipeline de mapeamento chama a Stored procedure com uma expressão SP.

Você pode usar uma transformação SQL não conectada para chamar procedimentos armazenados em bancos de dados Oracle, SQL ou ODBC.

Você pode configurar a transformação SQL para processar uma query salva que você cria no Data Integration ou uma query inserida pelo usuário que é executada em um banco de dados relacional.

Ao inserir uma consulta, você pode formatar o SQL e validar a sintaxe. A transformação processa a consulta e retorna linhas e erros de banco de dados.

Você pode criar os seguintes tipos de consultas SQL:

  • Consulta SQL estática: A instrução de consulta não muda, mas você pode usar parâmetros de consulta para alterar os dados. O Data Integration prepara a consulta SQL uma vez e executa a consulta para todas as linhas de entrada.
  • Consulta SQL dinâmica: Você pode alterar as instruções de consulta e os dados. O Data Integration prepara uma consulta SQL para cada linha de entrada.

Transformação de agregador (Aggregator Transformation)

A transformação de Agregador é uma transformação ativa que permite realizar cálculos agregados, como médias e somas em um grupo de dados.

Quando você executa um mapeamento que usa uma transformação de Agregador, o Data Integration Service armazena os dados temporariamente em um cache agregado, até que conclua a agregação.

Transformação do normalizador(Normalizer Transformation)

A transformação de Normalizador é uma transformação ativa que transforma uma linha de entrada em várias linhas de saída.

Quando a transformação do Normalizador recebe uma linha que contém dados de várias ocorrências, ela retorna uma linha para cada instância dos dados de várias ocorrências.

Por exemplo, uma fonte relacional inclui quatro campos com dados de vendas trimestrais. Você pode configurar uma transformação de Normalizador para gerar uma linha de saída separada para cada trimestre.

Transformação de Mapplet

A transformação de Mapplet insere um mapplet em um mapeamento ou em outro mapplet.

Cada transformação de mapplet pode conter um mapplet. Você pode adicionar várias transformações de mapplet a um mapeamento ou mapplet.

A transformação do mapplet pode ser ativa ou passiva com base na lógica de transformação do mapplet.

Referências