DataWorks:通过代码自动解析原理和依赖关系原理带入实际场景看报错。 ...

在DataWorks使用上,我们通过代码自动解析+设置节点依赖关系配置节点依赖,通过上下游关系正常及节点运行状态来保障业务数据的顺序产出。

设置节点依赖关系的目的在于,检测我们sql里面所查询的表的数据是几点产出的,我们通过节点的状态成功默认上游数据数据顺利产出。


本文所说的是依赖同周期任务的情况

(如果需要依赖上游节点上一周期请选择依赖上一周期。

查看上游的数据写入和读取的分区是不是本节点想要的,需要在运维中心的周期实例看上游节点和本节点的调度参数替换的情况以及sql里面参数替换的情况。

后期详述上述场景。


自动解析原理

select 一张表会将自动解析作为本节点依赖的上游。

insert一张表,该表会自动解析作为本节点的输出。

cd09772bdc59d83e0460f06bc7e28dc9ec3e8d9e 

依赖关系原理

上游节点的本节点输出作为下游节点的本节点输入。

5a31d69e4a83e948199f3ca2b0ecafc971f19d82         

通过自动解析原理+依赖关系原理我们带入实际场景看报错:

现象:依赖的上游没有解析到父节点id,提交报错。

现象说明该报错并不是指该表不存在,只是在说明该表不是某个节点的本节点输出,无法通过这个表去找到产出这个表数据的节点,从而与这个节点挂上依赖。

我们通过上游节点的本节点输出作为下游节点的本节点输入,根据上面自动解析的原理可知,我在sql中查询了xc_demo_partition这个表这个,但是自动解析的时候没有通过这个表找到上游节点,说明没有一个节点将这个表xc_demo_partition作为本节点输出。

d7a2dd3a9e75518e33e6d81a4a794a72d1326bb0  

解决方案:

一、找到产出该表的节点任务,查看该节点任务的本节点输出是什么。

如果没有不清楚那个节点里面有操作这个表,我们可以使用代码搜索功能通过关键字进行模糊查找。

af9110ae4669697b91b578dc84840c754cee24d7 

二、如果是本地上传的表数据或者不需要依赖该节点可以选择在代码区右键-删除输入。

请注意:删除输入后请重新保存再自动解析输入输出。

b8a2163f2e8d03ee85ff5fe19d12ed3688edc1d2


为保证代码血缘的准确性,请减少使用自定义依赖的次数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值