DataWorks熟能生巧系列直播第二期:DataWorks调度依赖之跨周期依赖

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: 本系列文章为DataWorks钉钉大群内熟能生巧系列直播的文字版,基本涵盖了直播中讲解到的大部分内容,大家可以学习或者Mark一下,有需要的时候再来回顾。本系列直播内容由DataWorks技术支持团队出品,运营团队整理,大部分是DataWorks用户实际使用中遇到的频率较高的问题,希望对大家有一定帮助。

本篇文章介绍了DataWorks的跨周期依赖的三种模式:一层子节点依赖、本节点自依赖和自定义依赖。同时介绍了跨周期依赖的5个典型应用场景,并包含了操作演示,最后给出了3个配置依赖的建议。

分享人:DataWorks技术支持团队


我们在开发者社区学习路线里有发布一个DataWorks的学习路线,里面包含了入门讲解和熟能生巧系列的直播内容,大家可以去学习一下,需要主账号登陆学习哦:https://developer.aliyun.com/learning/course/81


首先我们来看一个场景,需求是A节点依赖C节点上一周期,C节点依赖A节点,而实际配置时可能会出现下方右图的错误情况,多出来一条C节点依赖自己的上一周期的自依赖线。在对配置上一周期依赖不熟悉的情况下,重复配置依赖,配置多余依赖或者节点成环警告等情况都有可能发生。

幻灯片2.PNG

DataWorks有两种依赖关系,一种是跨周期依赖,一种是本周期依赖。在调度配置面板中有一个“依赖上一周期”的钩子,配置跨周期依赖时勾选,勾选后会出现“依赖项”的选项,可选“一层子节点”、“本节点”或“自定义”。通常跨周期依赖指依赖前一天的数据。

幻灯片4.PNG

依赖上一周期(跨周期依赖)有三种模式:一层子节点、本节点和自定义。一层子节点相对于其他两种模式应用得比较少;本节点部分会介绍两个自依赖的应用技巧;自定义依赖需要保证依赖的节点在线上实际存在。

幻灯片5.PNG


一、依赖一层子节点


在周期任务中对C1节点配置依赖一层子节点,它的子节点是D1E1,那生成实例后,在周期实例中C1节点下游是D1E1的本周期,上游除了B1还会依赖D1E1T-1周期,虚线就是跨周期依赖的意思。

幻灯片6.PNG

我们通过实际业务讲解一下这种实例关系。下图是某电商业务中B1C1D13个节点4天产生的效果图,业务日期从81号流向4号。

幻灯片7.PNG

截取中间部分观察,三张表对应三个产出任务的节点,B1是事件日志表,C1是每日新增点击表,D1是每日新增点击用户表。在调度配置上给C1配置了依赖一层子节点,它的子节点是D1,所以会依赖D1T-1周期,即83号的C1实例任务依赖82D1实例产生的数据,即图中虚线表示的跨周期依赖,这个依赖业务上是为了保证获取到截止上周期的所有老用户信息,这样才能够保证过滤出新用户流向下游。

幻灯片8.PNG


二、自定义依赖


可以直接输入依赖的上游节点ID,这个ID要保证线上存在。这里对C2节点配置自定义,把A 2ID输入进去,然后C2会依赖于A2T-1周期。

幻灯片9.PNG


三、本节点依赖


即依赖当前节点的上一周期。这里对C3配置自依赖,那C3会依赖C3T-1周期,C3T-1周期依赖C3T-2周期。

幻灯片10.PNG

接下来看两个自依赖的应用技巧:(详细内容可在DataWorks百问百答02期看到:https://developer.aliyun.com/article/749508


第一个是小时任务依赖天任务。上游天任务跑完,下游小时任务多个小时任务周期定时时间已到,如果不希望小时任务多周期并发调起,就需要配置自依赖,让它们一个个按顺序执行。

 image.png

第二个是天任务依赖小时任务,天任务定时配置了12点。按照普通配置,天任务需要等上游所有的实例运行后才开始运行,但如果该天任务必须要12点开始跑,就需要对上游的小时任务配置自依赖。

image.png


四、5个典型场景

跨周期依赖有5个典型应用场景,它们也满足了大部分的应用需求。

 

场景一:依赖一层子节点

场景二:天任务依赖小时任务(同周期)

场景三:天任务依赖小时任务昨天的数据(跨周期)

场景四:小时任务依赖天任务

场景五:本节点依赖自己上一周期产出的数据,但不知道上一周期何时产出。可以对本节点配置依赖上一周期,选择“本节点”即可。


五、实操演示

下面实操介绍一下场景三,天任务依赖小时任务昨天的数据,它的配置方法是下游天任务配置“依赖上一周期”选“自定义”,填上游小时任务的ID即可。

 

首先进入DataStudio,新建一个业务流程,然后新建一个虚拟节点、一个小时任务和一个天任务。

image.png

然后配置小时任务。重跑属性和上面一样,调度周期选择小时,每小时一个,一共24个实例。这里小时任务需要挂在虚拟节点下面,所以到虚拟节点来复制它的本节点输出名,粘贴到小时任务的“依赖的上游节点”输入框出配置依赖,另外只有被提交过的任务,才可以搜索到然后添加依赖。最后保存、提交。

image.png

然后配置天任务。还是一样重跑属性,调度周期是天,注意这边实例生成方式是都是T+1次日生成。另外因为配置的是跨周期依赖,所以选择依赖上一周期,选择自定义,然后获取一下小时任务的节点ID,小时任务的ID同样也是需要小时任务提交后才能获取到。此时天任务本周期的上游依赖是空的,这是不允许的,这里因为实际天任务没有同周期上游,所以建议天任务上游配置这里挂在一个虚拟节点上,这里为了演示方便,直接使用根节点作为天任务上游。然后保存、提交。

image.png

随后进入任务发布界面,可以看到刚刚提交的三个节点。由于跨周期依赖所填的节点ID必须保证线上存在,所以要先发布虚拟节点和小时任务,然后再发布天任务,这样天任务发布才不会报错。

image.png

然后复制一下天任务的节点ID,可以到运维中心查看一下周期任务的关系图。由于是设置的T+1天生成实例,所以还看不到实例效果图。

image.png

我们找一个之前配置好的节点的实例看一下。下图是最后会产生的效果图,有24个小时任务和一个虚拟节点,除了虚拟节点外24个小时任务都是虚线,而下游是天任务,这是符合预期的。

image.png


六、Tips

最后有几个建议。

 

第一,跨周期依赖中容易遇到提交报错无上游的情况,这时可以新建一个虚拟节点作为上游。

 

第二,跨周期依赖和本周期依赖不要重复配置依赖。

 

第三,上游为分支节点,分支配置了跨周期依赖建议勾选“上游空跑属性不进行跨周期传导”。

幻灯片12.PNG

以上就是本次分享的全部内容了,有问题需要解答的同学可以扫码加一下我们的钉钉大群,群里有直播回放可以观看。

DataWorks部门主群二维码.JPG

感谢大家的关注!


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
13天前
|
运维 DataWorks 安全
DataWorks操作报错合集之在DataWorks中,任务流在调度时间到达时停止运行,是什么原因导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
31 0
|
13天前
|
分布式计算 DataWorks 调度
DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 0
|
13天前
|
存储 分布式计算 DataWorks
DataWorks产品使用合集之在DataWorks中,配置时间属性调度周期如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
33 2
|
13天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之在DataWorks中,如何将某个节点添加到自己的“依赖的上游节点”列表中,但该节点在产出任务时显示不为无如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
26 1
|
13天前
|
SQL DataWorks 安全
DataWorks产品使用合集之DataWorks开发环境支不支持自动调度如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
36 0
|
13天前
|
数据采集 分布式计算 DataWorks
DataWorks产品使用合集之DataWorks 数据集成中的数据源管理和管理空间的数据源之间的关系是怎样的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
24 0
|
13天前
|
运维 DataWorks 关系型数据库
DataWorks产品使用合集之DataWorks中如何提升运维中心实时同步任务的运行速度
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
25 1
|
13天前
|
SQL JSON 分布式计算
DataWorks产品使用合集之DataWorks一键maxcompute数据同步的操作步骤是什么
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0
|
13天前
|
SQL DataWorks 测试技术
DataWorks产品使用合集之DataWorks如何进行业务流程克隆
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0
|
13天前
|
分布式计算 DataWorks MaxCompute
DataWorks产品使用合集之在DataWorks中,如何进行批量复制操作来将一个业务流程复制到另一个业务流程
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
22 0

热门文章

最新文章

  • 1
    DataWorks操作报错合集之DataWorksUDF 报错:evaluate for user defined function xxx cannot be loaded from any resources,该怎么处理
    30
  • 2
    DataWorks操作报错合集之DataWorks任务异常 报错: GET_GROUP_SLOT_EXCEPTION 该怎么处理
    24
  • 3
    DataWorks操作报错合集之在DataWorks中,任务流在调度时间到达时停止运行,是什么原因导致的
    31
  • 4
    DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
    26
  • 5
    DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
    25
  • 6
    DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
    26
  • 7
    DataWorks操作报错合集之DataWorks提交失败: 提交节点的源码内容到TSP(代码库)失败:"skynet_packageid is null,该怎么解决
    33
  • 8
    DataWorks操作报错合集之DataWorks集成实例绑定到同一个vpc下面,也添加了RDS的IP白名单报错:数据源配置有误,请检查,该怎么处理
    27
  • 9
    DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
    30
  • 10
    DataWorks操作报错合集之在 DataWorks 中运行了一个 Hologres 表的任务并完成了执行,但是在 Hologres 表中没有看到数据,该怎么解决
    24
  • 相关产品

  • 大数据开发治理平台 DataWorks