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

注意事项

若本节点存在下游依赖,删除本节点的节点输出:
  • 当下游仅存在一个父节点依赖,可能会导致下游节点成为孤立节点不能正常调度。
  • 当下游节点还未形成依赖,导致早于上游节点产出表数据,从而产生数据质量问题。
因此,存在输出变更的场景请评估影响并谨慎操作。

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

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

如下操作可能导致节点输出被删除:
  • 人为将手动添加的节点输出删除。
  • 关闭自动解析功能后未检查节点输出,节点代码变更,导致节点不再产出某张表数据。
说明 如果本节点存在下游依赖节点,变更本节点的节点输出可能导致严重影响。
示例

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

说明 删除节点输出对本节点输出、产出无影响。节点输出仅用于挂载节点依赖,节点是否产出表数据与代码逻辑有关,与节点输出是否删除无关。
删除或变更本节点的节点输出,将导致下游节点不再周期性自动调度,或下游产生数据质量问题。若下游节点依赖关系较深,将会产生严重影响。当存在下游依赖的上游节点输出被删除时,DataWorks界面会给出如下提示,请确认影响后再操作!界面提示
  • 下游任务仅依赖当前一个父节点时,下游任务将被孤立。 孤立节点无法被调度运行。
  • 下游任务依赖多个父节点时,可能存在数据质量问题。

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

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

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

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

示例Node_A产出表A数据,下游节点Node_B需对表A的数据进行加工,自动解析将为Node_B挂载依赖上游节点Node_A。当业务变更,表A数据变更为由Node_C产出,此时,自动解析将重新为下游Node_B挂载此新节点Node_C的依赖。
  1. 自动解析设置节点依赖,上下游调度正常。
    自动解析设置节点依赖,上下游调度正常
  2. 业务变更,上游不再产出表A,由于自动解析,导致下游依赖关系丢失。
    由于下游节点Node_B仅存在一个上游依赖,上游产出表变更导致依赖丢失,此时Node_B变为孤立节点,不会自动调度。下游依赖关系丢失
  3. 为新节点Node_C增加表A为该节点的节点输出,自动解析将重新为下游Node_B挂载此新节点依赖。
    新节点添加输出后,请提交发布,确保下游节点可通过该输出挂载新节点的依赖。自动解析将重新为下游挂上此新节点依赖