DataWorks 如何设置调度依赖

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 在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数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
目录
相关文章
|
3月前
|
SQL DataWorks 安全
DataWorks产品使用合集之如何实现分钟级调度
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
分布式计算 DataWorks API
DataWorks产品使用合集之如何设置把结果传入变量
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
DataWorks 监控 安全
DataWorks产品使用合集之怎么设置实时同步任务的速率和并发
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
分布式计算 DataWorks 监控
DataWorks产品使用合集之设置任务监控的步骤是什么
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
SQL DataWorks 安全
DataWorks产品使用合集之调度资源组与集成资源内部的实例如何进行共用
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
分布式计算 DataWorks NoSQL
DataWorks产品使用合集之怎么设置在归并节点传递参数
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何设置时区
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之调度任务时怎么指定时间函数格式
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
DataWorks Kubernetes 大数据
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
|
3月前
|
运维 DataWorks 监控
DataWorks产品使用合集之如何自定义UDTF
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。

热门文章

最新文章

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