Atualizar opções de estratégia em informatica
PowerCenter - Atualização Estratégia (Inserir, Atualizar, Excluir)
Índice.
A estratégia de atualização determina se deseja inserir, excluir, atualizar ou rejeitar registros.
No PowerCenter, você o configura em dois níveis diferentes:
Você também pode usar a transformação personalizada para marcar linhas para inserir, excluir, atualizar ou rejeitar.
2 - Artigos relacionados.
3 - Registro de bandeiras constantes.
4 - Exemplo.
A declaração a seguir marca itens com um ID de 1001 para exclusão e todos os outros para inserção.
5 - Parâmetros da tarefa.
5.1 - Propriedades.
5.2 - Mapeamento.
Você pode definir propriedades de destino no nível da sessão para especificar como o Serviço de integração insere, atualiza e exclui as linhas.
PowerCenter - Atualização Estratégia (Inserir, Atualizar, Excluir)
Índice.
A estratégia de atualização determina se deseja inserir, excluir, atualizar ou rejeitar registros.
No PowerCenter, você o configura em dois níveis diferentes:
Você também pode usar a transformação personalizada para marcar linhas para inserir, excluir, atualizar ou rejeitar.
2 - Artigos relacionados.
3 - Registro de bandeiras constantes.
4 - Exemplo.
A declaração a seguir marca itens com um ID de 1001 para exclusão e todos os outros para inserção.
5 - Parâmetros da tarefa.
5.1 - Propriedades.
5.2 - Mapeamento.
Você pode definir propriedades de destino no nível da sessão para especificar como o Serviço de integração insere, atualiza e exclui as linhas.
Informatica Real Time Scenarios por RC Reddy Boggula.
Transformação ativa e conectada.
A transformação da estratégia de atualização é usada para inserir, atualizar e excluir registros na tabela de destino. Também pode rejeitar os registros sem chegar à tabela de destino. Quando você projeta uma tabela de destino, você precisa decidir quais dados devem ser armazenados no alvo.
A estratégia de atualização funciona somente quando temos uma chave primária na tabela de destino. Se não houver nenhuma chave primária disponível na tabela de destino, é necessário especificar uma chave primária na definição de destino no mapeamento para a transformação da estratégia de atualização para funcionar.
Use a transformação da Estratégia de Atualização o menor possível no mapeamento.
Não use a transformação da estratégia de atualização se quisermos apenas inserir na tabela de destino, em vez disso use mapeamento direto, filtragem direta, etc.
Para atualizar ou excluir linhas da tabela de destino, podemos usar a transformação da Estratégia de Atualização propriamente dita.
A expressão acima irá marcar as linhas de entrada de acordo com o valor de ACTIVITY_FLG.
Verifique "Forward Rejected Rows" se você deseja encaminhar as linhas rejeitadas para a próxima transformação. As linhas rejeitadas de execução para a próxima transformação permitirão que você capture os registros rejeitados nas tabelas / arquivos de Gerenciamento de Erros da Informatica. Dê uma olhada no snapshot abaixo. Conecte as portas de saída à instância de destino.
Especifica como cada linha atualiza tabelas de destino (inserir, atualizar, excluir ou rejeitar) com base em uma expressão.
A transformação da Estratégia de Atualização & # 8220; tags & # 8221; uma linha com o DML apropriado (linguagem de manipulação de dados) para que o gravador PowerCenter se aplique a um alvo relacional. Cada linha pode ser & # 8220; etiquetada & # 8221; com uma das seguintes bandeiras (o rótulo DD significa Data Driven). O SQL apropriado é submetido ao banco de dados de destino:
DD_INSERT: O valor numérico é 0. Usado para sinalizar a linha como Inserção. DD_UPDATE: O valor numérico é 1. Usado para sinalizar a linha como Atualização. DD_DELETE: O valor numérico é 2. Usado para sinalizar a linha como Excluir. DD_REJECT: O valor numérico é 3. Usado para sinalizar a linha como Rejeitar.
A escolha de uma estratégia de atualização requer a configuração das opções corretas dentro de uma sessão e, possivelmente, adicionar as transformações da Estratégia de Atualização a um mapeamento. Esta seção resume o que você precisa para implementar diferentes versões de uma estratégia de atualização.
Quando você configura a sessão, selecione Inserir para as linhas Origem do tratamento como propriedade da sessão. Além disso, certifique-se de selecionar a opção Inserir para todas as instâncias de destino na sessão.
Quando você configura a sessão, selecione Excluir para as linhas Origem do tratamento como propriedade da sessão. Além disso, certifique-se de selecionar a opção Excluir para todas as instâncias de destino na sessão.
Adicione uma transformação da Estratégia de atualização ao mapeamento. Quando você escreve a expressão da estratégia de atualização de transformação, use DECODE ou IIF para especificar os critérios para rejeitar a linha. Quando você configura uma sessão que usa esse mapeamento, selecione Dados Driven para as Linhas Origem Treat como propriedade de sessão.
Adicione uma transformação da Estratégia de atualização ao mapeamento. Quando você escreve a expressão de estratégia de atualização de transformação, use a função DECODE ou IIF para marcar linhas para diferentes operações (inserir, excluir, atualizar ou rejeitar). Quando você configura uma sessão que usa esse mapeamento, selecione Dados Driven para as Linhas Origem Treat como propriedade de sessão. Certifique-se de selecionar a opção Inserir, Excluir ou uma das opções de Atualização para cada instância da tabela de destino.
Atualização da Estratégia Expressão:
Você deve marcar as linhas atribuindo os valores numéricos constantes usando a expressão da estratégia de atualização. A propriedade de expressão da estratégia de atualização está disponível na guia de propriedades da transformação da estratégia de atualização.
Cada linha é testada em relação à condição especificada na expressão da estratégia de atualização e um valor constante é atribuído a ela. Uma expressão de exemplo é mostrada abaixo:
A declaração a seguir marca itens com um ID de 4569 para exclusão e todos os outros para inserção.
Principalmente as funções IIF e DECODE são usadas para testar uma condição na transformação da estratégia de atualização. IIF (row_exists_flag = 4569, DD_DELETE, DD_INSERT) Para as tags de linha DD_DELETE e DD_UPDATE, a definição da tabela em um mapeamento deve ter uma chave identificada, caso contrário a sessão criada a partir desse mapeamento falhará. As linhas etiquetadas com DD_REJECT serão transmitidas para a próxima transformação ou destino e posteriormente colocadas no arquivo incorreto & # 8220; # 8221; se o & # 8220; Forward Rejected Rows & # 8221; O atributo é & # 8220; verificado & # 8221; (padrão). Se o atributo for & # 8220; não verificado & # 8221; então as linhas de rejeição serão ignoradas. Em alguns casos, pode haver um benefício de desempenho para dividir um mapeamento com atualizações e inserções em dois mapeamentos e sessões: um com inserções e outro com atualizações.
O serviço de integração trata qualquer outro valor numérico como inserção.
Definir propriedades de destino de nível de sessão:
Você pode definir propriedades de destino no nível da sessão para especificar como o Serviço de integração insere, atualiza e exclui as linhas.
Observe como o atributo de transformação de linhas rejeitado para a frente é verificado. Esta é a configuração padrão para uma nova transformação da estratégia de atualização. Isso realmente não entrou em jogo no nosso exemplo, mas se nós devêssemos estabelecer alguma lógica condicional dentro da nossa estratégia de atualização, podemos rejeitar algumas linhas e decidir que não queremos que elas passem para nossa próxima transformação. Por exemplo, podemos colocar uma declaração como a abaixo em nossa transformação da estratégia de atualização UPD_UPDATE_MEDIUM:
IIF (TOTAL_SALES & lt; = 10000 AND TOTAL_SALES & gt; 6000, DD_UPDATE, DD_REJECT)
Esta declaração indicaria a transformação para marcar linhas para atualização se TOTAL_SALES fosse menor que o nosso igual a 10000 e superior a 6000. No entanto, se TOTAL_SALES fosse menor ou igual a 6000, então rejeitaríamos a atualização. Esta lógica real pode não ser real algo que faria na vida real, mas acho que você adquire o ponto.
De volta ao nosso atributo de linhas rejeitado para a frente, se deixarmos a caixa de seleção desmarcada, esses registros não passariam para nossa tabela de destino e seriam descartados pelo Serviço de Integração. Além disso, eles escreveriam o arquivo de log da sessão.
Se mantiver o atributo de linhas rejeitado para frente verificado, não mudaria muito. Os registros seriam passados para a tabela de destino, mas ainda assim seriam rejeitados e descartados. No entanto, os registros seriam escritos no arquivo de rejeição da sessão em vez do arquivo de log da sessão.
Estratégia de atualização e transformações de pesquisa:
A transformação da estratégia de atualização é usada principalmente com a transformação de pesquisa. A linha do qualificador de origem é comparada com uma fila da transformação de pesquisa para determinar se já existe ou um novo registro. Com base nessa comparação, a linha é sinalizada para inserir ou atualizar usando a transformação da estratégia de atualização.
Estratégia de atualização e transformações de agregadores:
Se você colocar uma estratégia de atualização antes de uma transformação de agregador, a forma como a transformação do agregador executa os cálculos agregados depende da sinalização da linha. Por exemplo, se você marcar uma linha para excluir e, em seguida, use a linha para calcular a soma, então o serviço de integração subtrai o valor que aparece nesta linha. Se for marcado para inserir, o agregador adiciona seu valor à soma.
Insira e rejeite registros usando a estratégia de atualização.
Cenário: há uma tabela emp e, a partir dessa tabela, insira os dados para direcionar onde sal.
A seguir estão as etapas para alcançá-lo.
conectar-se do SQF para a transformação da Estratégia de Atualização.
1) Você configurou a pasta de arquivo Rejeitar e o nome do arquivo na sessão da Informatica. Você pode ver os registros rejeitados no arquivo rejeitado?
Se a propriedade "Forward Rejected Rows" estiver ativada, os registros de rejeição marcados serão visíveis no arquivo de rejeição.
2) Você configurou a transformação da Estratégia de Atualização no mapeamento, mas não escolheu a opção de dados orientada no nível da Sessão. Você obterá os resultados desejados conforme configurado em Update Strategy Transformation?
Não, as propriedades de Sessão sempre substituem as propriedades de mapeamento. Sem "Data driven" configurado em sessão, você não pode obter os resultados desejados com Update Strategy Transformation.
3) Você pode usar uma transformação de agregador após a Atualização da Estratégia de Transformação?
Sim, mas é sugerido evitar, a menos que seja realmente necessário. Se não for manuseado com cuidado, os registros de exclusão e rejeição marcados são tratados de maneira diferente na Transformação de agregadores levando a resultados precisos.
PowerCenter - Atualização Estratégia (Inserir, Atualizar, Excluir)
Índice.
A estratégia de atualização determina se deseja inserir, excluir, atualizar ou rejeitar registros.
No PowerCenter, você o configura em dois níveis diferentes:
Você também pode usar a transformação personalizada para marcar linhas para inserir, excluir, atualizar ou rejeitar.
2 - Artigos relacionados.
3 - Registro de bandeiras constantes.
4 - Exemplo.
A declaração a seguir marca itens com um ID de 1001 para exclusão e todos os outros para inserção.
5 - Parâmetros da tarefa.
5.1 - Propriedades.
5.2 - Mapeamento.
Você pode definir propriedades de destino no nível da sessão para especificar como o Serviço de integração insere, atualiza e exclui as linhas.
Como integrar dados.
A Atualização da Estratégia de Transformação na Informatica é uma transformação ativa e conectada. Seu objetivo é controlar como os dados são inseridos, atualizados, excluídos e rejeitados de uma determinada tabela de destino. É vital que o mundo de integração / armazenagem de dados tenha esse controle, pois nos permite armazenar dados de acordo com a necessidade de nossa empresa.
Configurando a Estratégia de Atualização de Transformação.
A transformação da estratégia de atualização pode ser configurada dentro da sessão ou o próprio mapeamento. Vamos dar uma olhada nessas opções uma de cada vez.
Configurando a Sessão de Mapeamento.
Vamos dar uma olhada em um exemplo rápido. Para configurar a estratégia de atualização dentro da sessão, comece no gerenciador de fluxo de trabalho e clique duas vezes na sessão de mapeamento chamada s_UPD_DEMO abaixo.
Transformação de atualização no exemplo de fluxo de trabalho da Informatica.
Depois de clicar duas vezes na sessão, clique na guia Propriedades.
Transformação de atualização na guia de Propriedades da sessão de exemplo da Informatica.
Esta guia nos mostrará um & # 8220; tratar as linhas de origem como & # 8221; Deslize para baixo com quatro opções diferentes. Este atributo nos permite controlar, em um nível de sessão, se as linhas são inseridas, atualizadas ou excluídas das nossas tabelas de destino. Se selecionarmos inserir, nosso mapeamento tentará inserir cada registro direcionado para nossa tabela de destino. Precisamos garantir que nossos dados incluam uma chave primária mapeada na chave primária da nossa tabela de destino & # 8217 ;. Se, por algum motivo, tentamos inserir um registro com uma chave primária que já existe na nossa tabela de destino, esse registro será rejeitado. Estas mesmas regras aplicam-se para atualizar e excluir opções. A diferença é que nossos registros de mapeamento tentarão ser atualizados ou excluídos em nossa tabela de destino em vez de inseridos.
Além de selecionar as linhas de origem "tratar" correta como # 8221; opção de atributo, devemos definir atributos de nível de tabela de destino na guia de mapeamento de nossa sessão. Se, por exemplo, selecionamos a opção de inserção para nossas linhas de origem do tratamento como # 8221; opção, precisamos clicar na nossa tabela de destino e, em seguida, marque a caixa de seleção do atributo de inserção. Certifique-se de desmarcar todas as outras caixas de verificação da operação do banco de dados.
Transformação de atualização na guia de mapeamento de sessão de exemplo da Informatica.
Se quisermos atualizar os registros e selecionar a atualização conforme nossas & # 8220; tratar as linhas de origem como & # 8221; opção de atributo, então temos três opções no nível da tabela de destino para escolher: atualizar como Atualização, Atualizar como Inserção e Atualizar outra Inserção.
Da mesma forma que nossas & # 8220; tratar linhas de origem como & # 8221; Insira o exemplo, se quisermos excluir linhas, devemos selecionar excluir como nossas "linhas de origem" tratar como # 8221; opção de atributo e marque a caixa de seleção de atributo de exclusão para cada tabela de destino na guia de mapeamento.
Nossa última opção de atributo de tabela é a opção truncar tabela de destino. Isso trará todos os dados dentro da tabela de destino antes de executar qualquer registro através do nosso mapeamento.
Nossas linhas de origem final de # 8220; como # 8221; A opção de atributo é conduzida por dados. Esta é a opção padrão quando adicionamos uma transformação de estratégia de atualização em nosso mapeamento. Esta opção informa o nosso mapeamento para usar a lógica dentro da nossa transformação de estratégia de atualização ao determinar se deseja inserir, atualizar, excluir ou rejeitar registros. Este controle mais legal é muito bom ter ao construir um data warehouse e uma prática recomendada ao marcar registros para a mesma tabela de destino com diferentes operações de banco de dados.
Vamos dar uma olhada em como configurar a nossa transformação da estratégia de atualização em um mapeamento Informatica. Abaixo temos um exemplo de mapeamento de M_Sales.
Atualize a transformação no exemplo de mapeamento da Informatica.
Observe que temos uma única fonte de dados do agente de vendas provenientes de um arquivo plano. Nossos dados estão sendo encaminhados através de uma transformação de roteador e, então, para 3 diferentes transformações de estratégia de atualização (UPD_INSERT_HIGH, UPD_UPDATE_MEDIUM e UPD_DELETE_LOW), todos marcando nossos registros para diferentes operações de banco de dados. Finalmente, estamos enviando nossos registros de agente de vendas para a mesma tabela de destino, VENDAS.
Vamos dar uma rápida olhada em nossos critérios de roteador de grupo e # 8230;
Condições de filtro do grupo de transformação do roteador de vendas.
Observe como nossa condição de filtro separa os agentes com altos, médios e baixos valores totais de vendas. Nós somos agentes de roteamento com altas vendas para a transformação da estratégia de atualização UPD_INSERT_HIGH, vendas médias para a transformação da estratégia de atualização UPD_UPDATE_MEDIUM e baixas vendas para UPD_DELETE_LOW transformação da estratégia de atualização. Vamos dar uma olhada em cada uma dessas transformações com mais detalhes.
No mapeamento, clique duas vezes na transformação da estratégia de atualização UPD_INSERT_HIGH e clicando na guia de propriedades, obtemos a visualização abaixo.
Inserir o exemplo de transformação da estratégia de atualização.
Observe como eu programei DD_INSERT no atributo de transformação da expressão da estratégia de atualização. Isso diz a transformação para sinalizar todos os registros passados através dele, para inserir na tabela de destino. Nós também podemos usar valores numéricos aqui, mas eu recomendaria usar as constantes como uma prática recomendada, uma vez que a operação é muito mais intuitiva. Abaixo estão todas as nossas opções para este atributo, juntamente com suas operações correspondentes.
Vamos rapidamente rever a nossa transformação de estratégia de atualização adicional neste mapeamento.
UPD_UPDATE_MEDIUM está configurado para atualizar as linhas que corresponda com a chave primária na tabela de VENDA alvo.
Update Update Strategy Transformation Example.
UPD_DELETE_LOW está configurado para excluir as linhas que corresponda pela chave primária na nossa tabela de VENCIMENTOS alvo.
Excluir o exemplo de transformação da estratégia de atualização.
Observe como o atributo de transformação de linhas rejeitado para a frente é verificado. Esta é a configuração padrão para uma nova transformação da estratégia de atualização. Isso realmente não entrou em jogo no nosso exemplo, mas se nós devêssemos estabelecer alguma lógica condicional dentro da nossa expressão de estratégia de atualização, podemos rejeitar algumas linhas e decidir que não queremos que elas passem para nossa próxima transformação. Por exemplo, podemos colocar uma declaração como a abaixo em nossa transformação da estratégia de atualização UPD_UPDATE_MEDIUM:
IIF (TOTAL_SALES 6000, DD_UPDATE, DD_REJECT)
Esta declaração indicaria a transformação para marcar linhas para atualização se TOTAL_SALES fosse menor que o nosso igual a 10000 e superior a 6000. No entanto, se TOTAL_SALES fosse menor ou igual a 6000, então rejeitaríamos a atualização. Esta lógica real pode não ser real algo que faria na vida real, mas acho que você adquire o ponto.
De volta ao nosso atributo de linhas rejeitado para a frente, se deixarmos a caixa de seleção desmarcada, esses registros não passariam para nossa tabela de destino e seriam descartados pelo Serviço de Integração. Além disso, eles escreveriam o arquivo de log da sessão.
Se mantiver o atributo de linhas rejeitado para frente verificado, não mudaria muito. Os registros seriam passados para a tabela de destino, mas ainda assim seriam rejeitados e descartados. No entanto, os registros seriam escritos no arquivo de rejeição da sessão em vez do arquivo de log da sessão.
Velocity Naming Standard.
Velocity recomenda o formato abaixo ao nomear uma Atualização Estratégia de Transformação na Informatica:
A Estratégia de Atualização de Transformação na Informatica é uma ótima ferramenta para controlar como os dados passados através de um mapeamento são sinalizados para inserir, atualizar, excluir e rejeitar na tabela de banco de dados de destino. Podemos controlar isso em um nível de sessão de mapeamento ou em um nível de mapeamento através da própria transformação. Se você estiver no mundo da business intelligence e data warehouse, você definitivamente quer uma compreensão profunda de como a Atualização da Estratégia de Transformação na Informatica funciona. Feliz integração & # 8230;
Aaron Gendle.
Últimas mensagens de Aaron Gendle (ver todos)
5 razões para sair do seu trabalho hoje - 20 de junho de 2017 O 2017, Top 50.
Comentários 2.
Obrigado pela explicação detalhada sobre a estratégia de atualização. Continue postando.
Comments
Post a Comment