DataWorks报错处理《有下游节点依赖本节点的输出 xxx,禁止删除》

问题描述

在保存节点的时候,遇到了如下报错 “有下游节点依赖本节点的输出 xxx,禁止删除 “该如何处理?
DataWorks报错处理《有下游节点依赖本节点的输出 xxx,禁止删除》

问题分析

这个问题很典型,是因为上游任务修改了本节点的输出,导致下游任务挂依赖的时候,可能会存在依赖丢失的风险,所以DataWorks校验的时候,阻止了本次修改的保存。

问题出现的场景给大家解析一下。

上游节点的代码如下:

create table dw_demo (id BIGINT ,name STRING );

INSERT into TABLE  dw_demo  SELECT  1,'pengmin' from dual; 

下游节点的代码如下:

SELECT * from dw_demo ;

在DataWorks上调度运行的时候,很明显,下游节点依赖了上游节点输出的表数据,当我们把上游节点输出删除的时候,那么就会出现保存失败的情况。

问题解法

由于导致问题的原因是上游节点的输出被修改了,导致下游节点的依赖挂不上,那么要解决这个问题,只能修改下游节点的依赖关系,使其不依赖上游的输出表。

DataWorks报错处理《有下游节点依赖本节点的输出 xxx,禁止删除》

切记:删除输入以后,需要去自动解析哪里,重新解析一下输入输出。然后提交节点,再去保存上游。
DataWorks报错处理《有下游节点依赖本节点的输出 xxx,禁止删除》

当下游节点修改了依赖关系后,保存上游节点,显示保存成功,此问题就解决了。
DataWorks报错处理《有下游节点依赖本节点的输出 xxx,禁止删除》

小贴士

如何找到下游节点是解决这个问题的关键,有时候下游节点没有提交,我们无法直接找到下游节点,那么就需要使用一点小技巧。

提供一个思路:充分利用代码全局搜索功能,找到与这个表有关的任务,然后查看那些任务依赖了这个表。
DataWorks报错处理《有下游节点依赖本节点的输出 xxx,禁止删除》

根据查询出来的结果,找到具体引用的任务,选择删除输入,重新解析,保存提交即可。
DataWorks报错处理《有下游节点依赖本节点的输出 xxx,禁止删除》

上一篇:Forrester最新报告:阿里云稳居领导者地位,引领云原生开发浪潮


下一篇:区块链开发公司谈区块链影响着哪些行业