DataWorks报错处理《有下游节点依赖本节点的输出 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值