删除或变更节点输出的影响

更新时间:2025-02-11 07:30:15

本文为您介绍导致删除或变更节点输出的操作,以及删除或变更节点输出的影响与解决方案。

注意事项

若本节点存在下游依赖,删除本节点的节点输出:

  • 当下游仅存在一个父节点依赖,可能会导致下游节点成为场景:节点孤立不能正常调度。

  • 当下游节点还未形成依赖,导致早于上游节点产出表数据,从而产生数据质量问题。

因此,存在输出变更的场景请评估影响并谨慎操作。

导致节点输出被删除或变更的操作

节点输出除了节点创建时自动生成两个节点输出外,您还可手动添加节点输出;或通过自动解析代码血缘,将节点产出表自动解析为节点输出。

如下操作可能导致节点输出被删除:

  • 人为将手动添加的节点输出删除。

  • 关闭自动解析功能后未检查节点输出,节点代码变更,导致节点不再产出某张表数据。

说明

如果本节点存在下游依赖节点,变更本节点的节点输出可能导致严重影响。

示例

删除或变更节点输出对下游节点的影响与解决方案

说明

删除节点输出对本节点输出、产出无影响。节点输出仅用于挂载节点依赖,节点是否产出表数据与代码逻辑有关,与节点输出是否删除无关。

删除或变更本节点的节点输出,将导致下游节点不再周期性自动调度,或下游产生数据质量问题。若下游节点依赖关系较深,将会产生严重影响。当存在下游依赖的上游节点输出被删除时,DataWorks界面会给出如下提示,请确认影响后再操作!界面提示

  • 下游任务仅依赖当前一个父节点时,下游任务将被孤立。 场景:节点孤立无法被调度运行。

  • 下游任务依赖多个父节点时,可能存在数据质量问题。

    若已存在下游依赖,此时删除节点输出(节点产出表数据变更导致节点输出变更,或直接修改了节点输出),可能会导致下游任务产生严重影响(任务不运行或产生数据质量问题)。

  • 若产出表数据的节点发生变更,请重新为下游节点设置新的节点依赖。

    自动解析根据代码血缘解析并配置节点调度依赖。若解析出节点产出A表数据,并且有下游任务B依赖A表,则会将A表自动解析为节点输出,同时,展示下游任务BID、节点名;若业务调整,导致节点不再产出A表数据时,您需确认A表数据从哪个节点产出,并且为下游节点B重新配置产出A表数据的节点依赖。

示例:上游产出表变更,导致下游依赖丢失

示例Node_A产出表A数据,下游节点Node_B需对表A的数据进行加工,自动解析将为Node_B挂载依赖上游节点Node_A。当业务变更,表A数据变更为由Node_C产出,此时,自动解析将重新为下游Node_B挂载此新节点Node_C的依赖。

  1. 自动解析设置节点依赖,上下游调度正常。

    image
  2. 业务变更,上游不再产出表A,由于自动解析,导致下游依赖关系丢失。

    由于下游节点Node_B仅存在一个上游依赖,上游产出表变更导致依赖丢失,此时Node_B变为孤立节点,不会自动调度。

    image

    务变动后,节点A不再产出表A数据。

    • 当下游B只依赖A时,失去A节点依赖,将导致下游B变成孤立节点,不会再调度。

    • 当下游B任务有其他依赖时,B任务将正常调度,但数据可能出现问题。

      说明

      由于B任务SELECT A数据,但没有依赖产出表A数据的节点。

    业务变动后,节点B依赖节点A,该依赖被称为无效依赖。

    • 现象:该条目无父节点ID,无父节点名称。

    • 原因:未通过该表(父节点输出名)找到产出该表数据的上游节点。

    • 业务原因:原上游节点产出表变更(不再产出表A数据),目前无法通过节点输出找到产出表A数据的上游。

  3. 为新节点Node_C增加表A作为该节点的节点输出,自动解析将重新为下游Node_B挂载此新节点依赖。

    新节点添加输出后,请提交发布,确保下游节点可通过该输出挂载新节点的依赖。

    image
  • 本页导读 (1)
  • 注意事项
  • 导致节点输出被删除或变更的操作
  • 删除或变更节点输出对下游节点的影响与解决方案
  • 示例:上游产出表变更,导致下游依赖丢失
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等