Remover ou alterar a saída de um nó pode quebrar as dependências de agendamento dos nós descendentes, causar falhas ou gerar dados incorretos. Este tópico explica o que desencadeia mudanças na saída, quais são os impactos nos nós descendentes e como restaurar as dependências válidas.
Se um nó possuir descendentes, alterar sua saída pode comprometer gravemente o agendamento subsequente. Avalie o impacto no pipeline antes de fazer alterações.
Como a saída do nó afeta o agendamento
Remover a saída de um nó não impede sua execução nem a geração de dados em tabelas. A saída serve exclusivamente para definir dependências de agendamento entre nós. Apenas a lógica do código determina quais dados de tabela serão produzidos.
Operações que causam remoção ou alteração da saída
Ao criar um nó, o sistema gera automaticamente duas saídas para ele. Adicione saídas manualmente ou ative o recurso de análise automática para que o sistema detecte as tabelas de saída diretamente no código do nó.
As operações abaixo podem remover ou alterar a saída de um nó:
|
Operação |
Descrição |
|
Manually remove the output |
Exclua uma entrada de saída diretamente do nó. |
|
Disable automatic parsing without verifying outputs |
Se você desativar a análise automática sem verificar a saída e o código do nó mudar, deixando de produzir uma tabela específica, a saída correspondente torna-se inválida. |

Impactos nos nós descendentes
O console do DataWorks exibe um aviso ao tentar remover a saída de um nó com descendentes.

Analise o aviso e avalie o impacto nos nós descendentes antes de continuar. A tabela a seguir descreve os três cenários de impacto possíveis.
|
Cenário |
Condição |
Impacto |
|
Nó descendente isolado |
Os nós descendentes dependem apenas do nó atual |
Os nós descendentes tornam-se nós isolados e não podem ser agendados. |
|
Problemas de qualidade de dados |
Os nós descendentes dependem de múltiplos nós ancestrais |
Os nós descendentes podem executar, mas falhar ao obter os dados necessários, resultando em problemas de qualidade de dados. |
|
Dependências inválidas |
O código do nó deixa de gerar uma tabela específica |
A saída vinculada a essa tabela torna-se inválida. Reconfigure os nós descendentes dependentes com novas dependências. |
Impactos severos podem ocorrer se os nós descendentes tiverem fortes dependências do nó atual. A saída de um nó também muda automaticamente quando a tabela gerada por ele é alterada. O recurso de análise automática mantém as dependências de agendamento com base na linhagem do código. Se um nó gera a Tabela A e um nó descendente depende dela, o sistema adiciona a Tabela A à Output do nó e exibe os IDs e nomes dos nós dependentes. Caso o nó deixe de gerar a Tabela A, essas dependências tornam-se inválidas e exigem reconfiguração manual.
Problemas de qualidade de dados podem surgir se você remover a saída de um nó antes da geração da tabela de saída correspondente.
Correção de dependências quebradas após alteração de tabela
Este exemplo ilustra o que acontece quando Node_A deixa de gerar a Tabela A devido a uma mudança de negócio e como restaurar o agendamento válido para Node_B.
Estado inicial
Node_A gera a Tabela A. Node_B processa a Tabela A e depende de Node_A. O recurso de análise automática configura a dependência entre os dois nós.
O que falha
Após uma mudança de negócio, Node_A deixa de gerar a Tabela A. Consequentemente, a dependência entre Node_A e Node_B torna-se inválida.
Os problemas a seguir ocorrem dependendo da configuração de dependência de Node_B:
Se
Node_Bdepender apenas deNode_A,Node_Bse tornará um nó isolado e não poderá ser agendado.Se
Node_Bdepender também de outros nós, o agendamento ainda poderá ocorrer, mas os dados necessários talvez não estejam disponíveis. A Tabela A continua referenciada na instruçãoSELECTdeNode_B, porémNode_Bjá não possui dependência do nó que gera a Tabela A.
Os detalhes do erro para a dependência quebrada são:
|
Campo |
Detalhe |
|
Error message |
Nenhum ID ou nome de nó ancestral foi especificado para |
|
Cause |
|
|
Business cause |
Como |
Correção
Adicione a Tabela A como saída de Node_C (o nó que agora gera a Tabela A). O recurso de análise automática configurará então uma dependência entre Node_C e Node_B.
Após adicionar a Tabela A à saída de Node_C, confirme e implante Node_C para ativar a nova dependência.