Sintomas
Ao enviar um nó, o sistema pode relatar que o nome de saída de um nó ancestral dependente não existe. Nessas situações, a página do DataWorks exibe a seguinte mensagem de erro: The output name test.table_1 of the dependent ancestor node for the current node does not exist. You cannot submit this node. Ensure that the ancestor node that has this output name is submitted. O código de erro é 1201111368. Esse erro indica que o sistema não localizou o nó upstream responsável por gerar a tabela de saída xc_ods_user_info_d_133 com base na dependência definida no campo Parent Node Output Name do nó atual.
Esse erro sinaliza que o nome de saída especificado não consta na configuração de saída de nenhum nó, e não necessariamente que a tabela esteja ausente. A falha também ocorre quando a tabela existe e é gerada por um nó, mas não foi adicionada como output desse nó.
Causa 1: Nenhum nó produz a tabela
-
Causa
Geralmente, o DataWorks utiliza análise automática para adicionar uma tabela gerada à saída de um nó. Contudo, tabelas sem geração periódica não têm suporte a essa funcionalidade. Alguns exemplos incluem:
Tabelas carregadas no DataWorks a partir da máquina local
Tabelas de dimensão
Tabelas não produzidas pelo agendamento do DataWorks
Tabelas geradas por nós acionados manualmente
O erro surge quando um nó tenta executar
SELECTem uma tabela dessas categorias. -
Solução
Remova manualmente as dependências de agendamento de tabelas sem geração periódica. Neste exemplo, exclua a dependência de agendamento cujo Parent Node Output Name seja
xc_ods_user_info_d_133.Para obter o passo a passo detalhado sobre como remover uma dependência de agendamento, consulte Configurar dependências de agendamento do mesmo ciclo.
Causa 2: Tabela não registrada como saída do nó
-
Causa
Embora o DataWorks utilize análise automática para adicionar saídas na maioria dos nós, certos tipos não oferecem suporte a esse recurso. Em casos como sincronização em lote, AnalyticDB for PostgreSQL, AnalyticDB for MySQL e EMR, adicione manualmente as tabelas produzidas como saídas.
Se um nó downstream tentar executar
SELECTem uma tabela gerada por um desses nós e essa tabela não tiver sido adicionada manualmente à saída do nó produtor, o erro será exibido. -
Solução
Adicione manualmente a tabela como saída do nó que a produz. Neste cenário, inclua
xc_ods_user_info_d_133como output do nó responsável pela geração.Após adicionar a saída, configure corretamente a dependência de agendamento. Para instruções detalhadas, acesse Configurar dependências de agendamento do mesmo ciclo.
Para evitar problemas de dados decorrentes de configurações de dependência incorretas, o DataWorks compara as entradas e saídas da linhagem de dados com as da configuração de agendamento durante o envio do nó. Caso haja divergência, o sistema exibe um aviso. Para mais informações, veja Erro de envio de nó: incompatibilidade entre entrada/saída e linhagem de dados.
Não é necessário configurar dependências de agendamento para tabelas fora do ciclo diário do DataWorks; remova essas dependências. Ao enviar o nó após essa exclusão, o sistema poderá alertar sobre uma incompatibilidade entre a linhagem de dados e a configuração de agendamento. Se a única discrepância for justamente a dependência removida, force o envio do nó com segurança.
Causa 3: Existência de nomes de saída de nó duplicados
-
Causa
Esse problema acontece quando vários nós compartilham o mesmo nome de output, situação possível em dois cenários:
-
Vários nós produzem a mesma tabela.
Quando múltiplos nós geram a mesma tabela, o sistema não consegue identificar um único nó source caso outro nó tente executar
SELECTnessa tabela. Tal ambiguidade provoca falha no envio. -
Um workspace contém nós com nomes idênticos.
Durante a criação de um nó, o sistema adiciona automaticamente duas outputs. Uma delas segue o padrão de nomenclatura
workspacename.nodename. Se dois nós no mesmo workspace possuírem o mesmo nome, seus nomes de output gerados automaticamente serão idênticos, resultando nesse erro no momento do envio.
-
-
Solução
Para resolver, adote as convenções padrão de desenvolvimento e nomenclatura:
Apenas um nó deve produzir cada tabela, e essa tabela precisa estar registrada como saída desse nó.
Os nomes dos nós devem ser exclusivos dentro de um workspace.
Depois de aplicar essas alterações, confirme que não existem dois nós com o mesmo nome de output.