DataWorks报错处理《有下游节点依赖本节点的输出 xxx,禁止删除》-阿里云开发者社区

开发者社区> 数据库> 正文

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

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

问题描述

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

问题分析

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

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

上游节点的代码如下:

create table dw_demo (id BIGINT ,name STRING );

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

下游节点的代码如下:

SELECT * from dw_demo ;

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

问题解法

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

image

切记:删除输入以后,需要去自动解析哪里,重新解析一下输入输出。然后提交节点,再去保存上游。
image

当下游节点修改了依赖关系后,保存上游节点,显示保存成功,此问题就解决了。
image

小贴士

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

提供一个思路:充分利用代码全局搜索功能,找到与这个表有关的任务,然后查看那些任务依赖了这个表。
image

根据查询出来的结果,找到具体引用的任务,选择删除输入,重新解析,保存提交即可。
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章