DataWorks 如何设置调度依赖

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: 在DataWorks 2.0中,任务的依赖配置有所更改,所以特别写一篇文档来引导大家,如何正确的配置任务调度依赖。

DataWorks 新版本在配置任务依赖的时候,是根据本节点输出名称作为关联项来给任务间设置依赖关系的,那我们应该如何配置任务的输入输出呢。

如何配置任务的本节点输入

本节点输入有两种配法,一种是使用代码自动解析功能,解析出任务的依赖;另一种是手动输入任务依赖(手动输入父节点的本节点输出名称)。
image
敲黑板:手动输入上游节点时,输入的是父节点本节点输出名称,如果父节点任务名称和父节点的本节点输出名称不一致的话,一定不要输错了。

在配置上游节点的时候,经常会遇到一个问题:通过自动解析出来的上游节点,是一个无效的上游依赖。那如何识别一个依赖是否有效呢,可以查看解析出来的上游依赖,在父节点ID这一列是否有值。
image

任务依赖的配置,实质上是给两个节点设置节点间的依赖关系,只有真实存在的节点,才能够设置上有效的依赖关系,任务依赖才能设置成功。

无效的上游依赖

那遇到无效的上游依赖时,应该如何处理呢。
Case 1:
image
Case 2:
image
这个时候很明显了,解析出来的父节点输出名称是不存在的,那有可能project_b_name.pm_table_b这个表,是没有产出任务的,或者这个表产出任务的本节点输出配置的不对,导致无法解析出来。

那解决方案有两个:

  1. 确认这个表是否有产出任务
  2. 确认这个表产出任务的本节点输出名称是什么,将这个本节点输出名称手动输入到依赖的上游节点中。
    image

敲黑板:手动输入上游节点时,输入的是父节点本节点输出名称,如果父节点任务名称和父节点的本节点输出名称不一致的话,一定不要输错了。
举个例子吧:有一个上游节点A,A的本节点输出名称是A1;有一个下游节点B需要依赖A,这个时候应该在依赖上游节点的输入框中,输入A1,并点击右侧的加号进行添加。

同步任务如何配置上游依赖

我的表是从源库抽取过来的,没有上游了,你告诉我咋办吧。

那就点一下使用项目根节点吧。
image

如何配置任务的本节点输出

配置本节点输入好麻烦,有一点点不太想写代码,有啥好方法没。

下面给大家讲解一下,在阿里内部是如何高效配置本节点输出的。

懒人法:本节点名称、本节点输出名称、本节点输出表名,三名合一,一招鲜,吃遍天。

这个三名合一有几个好处:

  1. 能够快速的知道这个任务操作的是哪个表
  2. 能够快速知道这个任务失败后造成的影响范围有多大
  3. 使用自动解析配置任务依赖时,只要本节点输出符合三名合一的规则,自动解析的精准性能得到大大的提升

自动解析

自动解析:通过代码自动解析调度依赖关系。
底层实现原理:代码中只能拿到表名,如何根据表名解析出对应的产出任务,如果表名和任务名一样该有多好找啊。

如odps sql类型节点代码如下:

INSERT OVERWRITE TABLE pm_table_a
SELECT  *
FROM    project_b_name.pm_table_b
;

解析出来的依赖关系如下:
image

系统会判断这个节点应该是要依赖project_b_name产出 pm_table_b 的节点,同时本节点最终产出 pm_table_a ,因此解析父节点输出名称为 project_b_name.pm_table_b,本节点的输出名称为本project_name.pm_table_a。(本项目名称为test_pm_01)

  • 如果不想用从代码解析到的依赖,那么就选择”否”。
  • 如果代码里有很多表是临时表如t_开头的表为临时表,那么这个表是不会被解析为调度依赖。临时表的定义可以通过项目配置来定义以什么开头的表名为临时表。
  • 如果代码里一个表名即是产出表又是被引用表(被依赖表)则解析时只解析为产出表。
  • 如果代码里一个表名被多次引用或者被多次产出,那么解析时只解析一个调度依赖关系。

注意:默认情况下,表名为t 开头的会被当成临时表,自动解析不解析临时表。如果t开头不是临时表,请联系自己的项目管理员到项目配置中进行修改,修改地址为项目配置

image

如何删除某表的输入输出

自在进行数据开发的时候,经常会使用到静态表(数据通过本地文件上传到表中),这部分静态数据其实是没有产出任务的,这时候在配置依赖的时候,就需要将静态表给删除输入,若静态表的表名又不满足t开头,不会被当成临时表,那么应该如何处理呢。
实际上就是:自动依赖解析出了一堆不需要的依赖,怎么干掉它们...

这种情况,可以在代码中选中表名,点击删除输入。
image

另外再给一个小贴士:
大家使用DataWorks 2.0版本的时候,大部分都是从1.0版本迁移过来的,我们会将迁移过来的DataWorks任务的本节点输出默认置为项目名.节点名。在挂迁移任务的依赖时,也可以使用节点名来挂任务依赖。
image

一定要看

当任务依赖配置完成以后,提交的窗口会有一个选项,当输入输出和代码血缘分析不匹配时,我确认继续执行提交操作。

这个大前提是:我确认依赖关系是正确的,如果不能确认的时候,再按照上面的方法来确认一下依赖关系吧。

image

关于DataWorks V2.0版本还有啥使用上的疑惑,就加入我们的钉钉群吧,有专业的技术支持同学接客,欢迎钉钉扫码进群,二维码如下:
image

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
目录
相关文章
|
1天前
|
数据采集 DataWorks 安全
DataWorks产品使用合集之选择独享调度,数据集成里可以使用,但是数据地图里面测试无法通过,是什么原因导致的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
8 0
DataWorks产品使用合集之选择独享调度,数据集成里可以使用,但是数据地图里面测试无法通过,是什么原因导致的
|
2天前
|
分布式计算 DataWorks API
DataWorks操作报错合集之在将ODPS空间设置成保护模式后,导出到OSS的任务出现了权限问题,该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
9 1
|
12小时前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何实现让某个Hologres SQL任务在调度执行时始终保持单并发
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
7 0
|
1天前
|
存储 DataWorks 安全
DataWorks产品使用合集之是否支持批量修改管道的上游依赖
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
6 0
|
2天前
|
SQL 运维 分布式计算
DataWorks操作报错合集之购买了独享的调度资源组,在运维界面批量修改调度资源组报错了,而且也没有资源组显示,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
7 0
|
2天前
|
SQL DataWorks 数据管理
DataWorks操作报错合集之开发环境中的节点在批量操作修改调度资源组后出现失败情况时,该如何操作
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2天前
|
SQL 数据采集 DataWorks
DataWorks操作报错合集之数据集成里面的数据调度独享资源组测试通过了,但是数据地图里无法通过,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
1天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之误删除生产表该是否可以恢复
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
9 2
|
1天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之如何实现即使上游任务执行失败,下游任务也能继续执行
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
9 1
|
1天前
|
数据采集 DataWorks 监控
DataWorks产品使用合集之mysql-cdc读取数据写入到datahub中,datahub如何转换时区
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
10 1