本文为您介绍导致删除或变更节点输出的操作,以及删除或变更节点输出的影响与解决方案。
注意事项
若本节点存在下游依赖,删除本节点的节点输出:- 当下游仅存在一个父节点依赖,可能会导致下游节点成为孤立节点不能正常调度。
- 当下游节点还未形成依赖,导致早于上游节点产出表数据,从而产生数据质量问题。
导致节点输出被删除或变更的操作
节点输出除了节点创建时自动生成两个节点输出外,您还可手动添加节点输出;或通过自动解析代码血缘,将节点产出表自动解析为节点输出。
如下操作可能导致节点输出被删除:
- 人为将手动添加的节点输出删除。
- 关闭自动解析功能后未检查节点输出,节点代码变更,导致节点不再产出某张表数据。
说明 如果本节点存在下游依赖节点,变更本节点的节点输出可能导致严重影响。
删除或变更节点输出对下游节点的影响与解决方案
说明 删除节点输出对本节点输出、产出无影响。节点输出仅用于挂载节点依赖,节点是否产出表数据与代码逻辑有关,与节点输出是否删除无关。
删除或变更本节点的节点输出,将导致下游节点不再周期性自动调度,或下游产生数据质量问题。若下游节点依赖关系较深,将会产生严重影响。当存在下游依赖的上游节点输出被删除时,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
的依赖。