文档

确认表血缘

更新时间:

任务配置上下游节点依赖前,您需先确认当前节点的表血缘关系(例如,表数据间的血缘关系、表产出的分区数据),基于血缘关系配置节点的调度依赖。本文为您介绍如何确认表血缘,以及未基于表血缘配置节点依赖的影响。

背景信息

确认表血缘,以及未基于表血缘配置节点依赖的影响,说明如下表。
类别说明
确认表血缘依赖同工作空间的表数据:通过上下游节点参数配置及实例替换情况,确认上游每日产出的分区数据。
依赖跨工作空间的表数据:通过数据地图产出信息确认上游表每日产出的分区数据。
未基于表血缘配置节点依赖的影响存在血缘依赖关系但未设置节点依赖关系,导致下游取数出现问题。
存在血缘依赖且设置了节点依赖但依赖的时间有误,导致下游取数出现问题。

使用说明

DataWorks上,节点读取或产出的表分区均通过调度参数实现。若上游节点产出的表分区值与下游节点依赖的表分区不匹配,您可根据业务需要综合考量,是否需要修改节点的调度参数配置,以此方式实现节点产出的表分区与节点依赖的表分区数据相匹配。

若需依赖上游节点上一周期产出的表分区数据,您可考虑设置跨周期依赖,即本节点依赖上一周期该上游节点。
说明 分区表场景下,需保证上游节点产出的表分区为下游节点所需依赖的表分区数据。

确认表血缘

同空间下确认上游表血缘

节点周期写入某张表某个分区的数据,大部分场景都是采用调度参数来动态实现,您可参考调度参数,了解调度参数的替换原理。若您需要依赖同工作空间某节点,则可检查其调度参数的配置情况。
  • 开发环境确认上下游表数据依赖

    您可进入上游节点的编辑界面,查看上游节点调度参数配置与节点代码详情。

  • 生产环境确认上下游表数据产出参数替换

跨空间依赖确认上游表血缘

若您需依赖其他工作空间的节点,可通过数据地图确认表数据每日写入情况。例如:确认上游该节点每日写入的表分区为昨天还是今天。跨空间依赖确认上游表血缘

未基于表血缘配置节点依赖的影响

场景一:存在强血缘依赖但未设置节点依赖,导致下游取数出现问题

若当前节点Job_B代码中配置了依赖A表的数据,但未将产出A表数据的节点Job_A作为当前节点依赖的上游,则可能会出现A表数据未产出,当前节点便开始执行,最终导致Job_B节点产出的表数据出现问题。上游数据未产出虽然Job_A的定时时间早于Job_B,若Job_A无法在2点前完成数据产出,将导致Job_B取数出现问题。Job_A定时时间1点未产出数据的可能原因如下:
  • Job_A的上游节点运行出错,或执行变慢。
  • Job_A及其上游节点出现等待资源情况。
  • job_A的上游节点某天被冻结。

场景二:设置了调度依赖,但由于参数配置导致下游取上游表数据早于上游表数据产出

同周期依赖配置情况下,由于上游产出的表分区与下游取表数据的分区匹配不上,可能会导致下游取数出现质量问题,或下游任务报错。如下图所示。
说明 MaxCompute节点使用max_pt函数时,请确认上游表数据每日产出无误。
上下游参数不一致