Transformação do Agregador na Informatica com Exemplo
ā” Resumo Inteligente
A transformação de agregador no Informatica é o objeto ativo que realiza cÔlculos como soma, média e contagem em um grupo de linhas, mantendo essas linhas em um cache de agregados até que cada grupo esteja completo.

O que é transformação de agregador?
A transformação de agregador é uma transformação ativa que realiza cÔlculos agregados, como soma, média e contagem.
Por exemplo, se você quiser calcular a soma dos salÔrios de todos os funcionÔrios por departamento, pode usar a transformação Agregador.
As operações agregadas são executadas em um grupo de linhas, portanto, é necessÔrio um espaço reservado temporÔrio para armazenar todos esses registros e realizar os cÔlculos.
Para isso, utiliza-se o cache do agregador. Trata-se de uma memória principal temporĆ”ria alocada Ć transformação do agregador para executar tais operaƧƵes, e Ć© dividida em duas partes: o cache de Ćndice armazena os valores do grupo, enquanto o cache de dados armazena os dados das linhas que estĆ£o sendo agregados.
A transformação estÔ ativa porque altera o número de linhas no pipeline. VÔrios milhares de registros de funcionÔrios podem entrar e apenas uma linha por departamento sai dele.
Como usar a transformação de agregadores no Informatica
Neste exemplo, calcularemos a soma dos salÔrios do departamento. Para isso, necessitamos de uma nova coluna para armazenar esta soma. Então, antes de mais nada, prepararemos uma nova coluna.
Passo 1) Crie uma nova tabela de destino no banco de dados, por exemplo, "sum_sal_deptwise", usando o script abaixo. Você verÔ a nova tabela de destino criada em Targetpasta s na próxima etapa.
Baixe o arquivo Create_table_sal_deptwise.txt acima
Passo 2) Crie um novo mapa,ping ām_sum_sal_deptwiseā.
Para criar o novo mapapingPrecisamos da tabela de origem (EMP) e da tabela de destino (sum_sal_deptwise) no mapa.ping Designer, então precisamos de
- Importe a tabela de destino āsum_sal_deptwiseā no mapa.ping.
- Importe a tabela de origem āempā.
Ambas as definiƧƵes agora aparecem na tela, como mostrado abaixo.
Passo 3) No mapaping,
- De Qualificador de origem, exclua as colunas empno, ename, job, mgr, hiredate e comm, deixando apenas as colunas deptno e sal.
- Crie uma nova transformação de Agregador usando o menu da caixa de ferramentas, conforme mostrado na captura de tela. Ao clicar no Ćcone do agregador, uma nova transformação de Agregador serĆ” criada.
O novo objeto AGGTRANS aparece ao lado do qualificador de origem truncado.
Passo 4) Arraste e solte as colunas SAL e DEPTNO do Qualificador de Origem (SQ_EMP) para a transformação Agregador. As duas portas agora estão vinculadas em AGGTRANS.
Passo 5) Double-clique na transformação Agregador para abrir suas propriedades e, em seguida,
- Adicione uma nova porta na transformação
- Renomeie a porta para SUM_SAL
- Altere o tipo de dados desta nova porta para double
- Configure esta porta como porta de saĆda selecionando a caixa de seleção da porta de saĆda.
- Clique na opção de expressão
A aba Portas agora lista SAL, DEPTNO e a nova porta de saĆda SUM_SAL.
Passo 6) Na janela do Editor de ExpressƵes
- Adicione a expressão sum(SAL); você precisa escrever essa expressão você mesmo.
- Selecione o botão OK; isso abrirÔ novamente a janela Editar Transformações.
O Editor de ExpressƵes mostra a expressĆ£o agregada atribuĆda a SUM_SAL.
Passo 7) Na janela Editar TransformaƧƵes, selecione a opção āAgrupar porā marcando a caixa de seleção ao lado da coluna deptno e clique em OK. Ao selecionar āAgrupar porā para a coluna deptno, estamos instruindo o Informatica a agrupar os salĆ”rios por deptno.
Passo 8) Vincule as colunas deptno e sum_sal da transformação Aggregator Ć tabela de destino. O mapeamentoping O processo Ć© entĆ£o concluĆdo, da origem ao destino.
Agora salve o mapaping e executÔ-lo após criar um novo Sessão para este mapapingA tabela de destino conterÔ a soma dos salÔrios por departamento. Dessa forma, podemos usar a transformação Agregador para calcular os resultados agregados.
Agrupar por portas na transformação de agregadores
A etapa anterior marcou uma Ćŗnica porta como "Agrupar por", o que transformou o total da empresa em um total por departamento. Qualquer porta de entrada, entrada/saĆda, saĆda ou variĆ”vel pode ser marcada da mesma forma.
TrĆŖs regras regem o conjunto de resultados:
- Uma fila por grupo. Quando os valores são agrupados, o Serviço de Integração gera uma linha para cada combinação única de agrupamento por portas.
- Sem agrupamento, apenas uma linha. Se nenhuma porta for selecionada, toda a entrada serĆ” tratada como um Ćŗnico grupo e uma Ćŗnica linha serĆ” retornada para todas as linhas de entrada.
- A última fila vence. Juntamente com o resultado agregado, o Serviço de Integração normalmente passa a última linha recebida no grupo, a menos que uma função como FIRST nomeie uma linha diferente.
Quando vÔrios portos estão marcados, a ordem dos portos determina o grupo.ping ordem, e a ordem pode alterar o resultado. Grupoping por DEPTNO e depois JOB não é o mesmo que grupoping primeiro por JOB e depois por DEPTNO, porque os valores da segunda coluna não são necessariamente únicos.
Propriedades de transformação do agregador
A aba Propriedades da janela Editar TransformaƧƵes contƩm as configuraƧƵes que definem onde o cache fica armazenado e quanto dele Ʃ utilizado. A tabela abaixo lista essas configuraƧƵes.
| Configuração | O que ele controla |
|---|---|
| Diretório de cache | Diretório local no qual o ServiƧo de Integração cria os arquivos de Ćndice e cache de dados. O padrĆ£o Ć© a variĆ”vel de processo $PMCacheDir definida no Gerenciador de Fluxo de Trabalho. |
| TracNĆvel de ing | Quantidade de detalhes registrados no log da sessĆ£o para esta transformação. |
| Entrada ordenada | Declara que os dados recebidos jÔ estão classificados por grupo de portas. Selecione esta opção somente quando o mapaping Realmente fornece dados organizados. |
| Tamanho do cache de dados do agregador | Tamanho do cache de dados. O padrão é 2,000,000 bytes, e a opção AutomÔtico permite que o Serviço de Integração o dimensione. |
| Tamanho do cache do Ćndice agregador | Tamanho do cache de Ćndice. O padrĆ£o Ć© 1,000,000 bytes, e a opção AutomĆ”tico permite que o ServiƧo de Integração o dimensione. |
| Escopo da Transformação | Aplica a lógica a cada transação ou a todos os dados recebidos. A opção "Todas as entradas" descarta os limites das transações recebidas. |
Quando a agregação incremental estÔ habilitada, o Serviço de Integração grava um backup dos arquivos de cache a cada execução, portanto, o diretório de cache precisa armazenar dois conjuntos de arquivos em vez de um.
Regras de Expressão Agregada e Dicas de Desempenho
Uma expressão agregada pode combinar uma função agregada com clÔusulas condicionais e funções não agregadas, o que possibilita somas e contagens condicionais em uma única porta. Duas regras restringem o que pode ser escrito.
- Um nĆvel de aninhamento. Apenas uma função agregada pode estar aninhada dentro de outra, e a expressĆ£o interna Ć© avaliada primeiro.
- Sem mistura. Uma transformação pode conter funƧƵes de nĆvel Ćŗnico ou funƧƵes aninhadas, nunca ambas. Se contiver ambas, o Designer marca o mapa.ping invĆ”lido, entĆ£o divida a lógica em duas transformaƧƵes de Agregador.
Em termos de afinação, três configurações fazem a maior parte do trabalho:
- Entrada ordenada. Quando as linhas chegam ordenadas por grupo por portas, cada grupo pode ser liberado assim que sua última linha chegar, resultando em muito menos dados em cache e uma sessão mais rÔpida. A entrada ordenada não pode ser combinada com agregação incremental.
- Agregação incremental. Novas linhas de origem são passadas pelo mapa.ping e combinado com o cache histórico em vez de recalcular o histórico, o que é adequado para um carregamento noturno em um total acumulado.
- Filtrar antecipadamente. As linhas que nunca contribuirão para o total devem ser descartadas antes do agregador, seja na consulta do qualificador de origem ou em um Transformação de filtro, porque cada linha que chega ao Agregador consome memória cache. Esta é uma das verificações padrão durante ajuste de desempenho.







