Tous les produits
Search
Centre de documentation

DataWorks:Erreur de validation du nœud : Incohérence entre les entrées/sorties et la lignée des données

Dernière mise à jour :Aug 09, 2026

Symptôme

Lorsque vous validez un nœud, le système émet un avertissement indiquant que les entrées et sorties configurées ne correspondent pas à la lignée des données. Dans la boîte de dialogue Commit New Version qui s'affiche, une zone d'avertissement rose affiche un message plus détaillé, tel que « Input and data lineage do not match ». Cela signifie que l'entrée soumise est workshop0423.ods_log_info_d, alors que l'entrée déduite de la lignée des données est workshop0423.ods_log_info_d;workshop0423.ods_user_info_d_1. Cochez la case I confirm that I want to continue with the commit pour activer le bouton Confirm. Dans ce scénario, sur la page de développement DataWorks, le code ODPS SQL à gauche utilise INSERT OVERWRITE TABLE dw_user_info_all_d pour joindre les tables ods_log_info_d et ods_user_info_d_1 et écrire le résultat dans la table de destination. À droite, le panneau de scheduling configuration comporte deux sections : Parent Nodes et Outputs. Sous Parent Nodes, le système analyse automatiquement la table d'entrée workshop0423.ods_log_info_d. La section Outputs inclut la sortie par défaut du système workshop0423.500889455_out ainsi que la table de sortie ajoutée manuellement workshop0423.dw_user_info_all_d. Cette incohérence survient parce que les tables analysées à partir de la lignée des données entrent en conflit avec les dépendances déclarées dans le panneau de configuration de planification.

Causes possibles

Cet avertissement apparaît lorsque les tables spécifiées dans les instructions SELECT de votre code ne correspondent pas à la configuration Parent Nodes, ou lorsque les tables présentes dans vos instructions INSERT ou CREATE ne correspondent pas à la configuration Outputs.

Par exemple :

  • Le code du nœud soumis sélectionne des données depuis table2, mais table2 n'est pas configurée comme nœud ancêtre pour ce nœud.

  • Vous avez configuré doc_test dans les Outputs du nœud, mais le code n'y écrit pas.

Solution

  • Pour les tables qui ne sont pas générées périodiquement, ignorez l'avertissement et validez le nœud.

    Les dépendances de planification DataWorks garantissent principalement la disponibilité des données des tables mises à jour périodiquement pour les nœuds planifiés. La plateforme ne peut pas surveiller les tables qui ne sont pas mises à jour par son propre service de planification. Si le code de votre nœud sélectionne des données depuis une table non générée périodiquement, supprimez la dépendance amont analysée automatiquement de la configuration Parent Nodes. Les tables non générées périodiquement comprennent :

    • Les tables téléchargées vers DataWorks depuis une machine locale

    • Les tables de dimension

    • Les tables non générées par un nœud déclenché automatiquement DataWorks

    • Les tables générées par un nœud déclenché manuellement

  • Pour les tables générées périodiquement, vérifiez attentivement que la lignée des données et les dépendances de planification sont cohérentes.

    Si vous forcez la validation sans cette vérification, vous risquez de rencontrer les problèmes suivants :

    • Un nœud descendant pourrait ne pas récupérer les dernières données. Par exemple, votre code sélectionne des données depuis la Table A, générée quotidiennement par un auto triggered node planifié. Si vous n'ajoutez pas le nœud qui génère la Table A aux Parent Nodes de votre nœud actuel pour établir une dépendance de planification, et que le nœud générant la Table A échoue, votre nœud descendant utilisera des données obsolètes provenant de l'exécution réussie précédente, ce qui peut entraîner des incohérences.

    • Vous pourriez rencontrer l'erreur « Dependent ancestor output name not found ». Par exemple, votre code crée ou insère des données dans la Table B, mais vous ne configurez pas la Table B comme sortie dans la section Outputs. Si un autre nœud sélectionne des données depuis la Table B, le système analyse automatiquement cette relation et ajoute la Table B comme entrée pour ce nœud, créant ainsi une dépendance. Cependant, le système ne peut pas retracer cette dépendance jusqu'au nœud qui produit la Table B. Lorsque vous tentez de valider le nœud, l'opération échoue avec l'erreur « Node commit error: Dependent ancestor output name not found ». Pour plus d'informations, consultez Erreur de validation du nœud : Nom de sortie de l'ancêtre dépendant introuvable.