DataWorks 调度依赖的基本使用 | 学习笔记

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: 快速学习 DataWorks 调度依赖的基本使用

开发者学堂课程【SaaS  模式云数据仓库系列课程 —— 2021数仓必修课:DataWorks  调度依赖的基本使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/55/detail/1198


DataWorks  调度依赖的基本使用


内容简介:

一、为什么需要设置调度依赖

二、依赖关系设置的几种方式

三、拉线设置依赖

四、最佳实践

五、如何设置调度依赖

一、为什么需要设置调度依赖

1.为什么要设置调度依赖

设置调度依赖是为了保障业务数据有效、适时地产出,形成规范化的数据研发场景。规范的依赖关系配置后,无需关心当前节点需要依赖表由哪个节点产出,通过  DataWorks  自动解析一键为您设置任务依赖。

2.调度依赖在  DataWorks  上的具体实现

产出  table_ B  数据的节点 B 任务执行完成,平台默认数据已经准备就绪,下游需要依赖该表数据的节点(表)可以开始取数了。

“表之间依赖”转换为”产出表数据的节点之间依赖”

问题:

如何通过表找到产出该表数据的节点,挂上节点依赖呢?

3.调度依赖的原理

Dataworks   上通过节点输出来挂依赖的,上游节点的输出作为下游节点的输入形成依赖关系。

场景示例:

当前节点 B 产出  table_ B  数据,table_ B  数据依赖  table_A,那么我们将产出表   table_ A数据的节点作为当前节点B的上游依赖。

问题:

我知道需要依赖这个表数据,也知道这个表数据由哪个节点产出,但是我不可能每次需要依赖表的时候,都打开这个节点找到他的输出设置依赖关系,团队协同开发的时候,这样也是不可能的怎么办呢?


二、依赖关系设置的几种方式

➢自动解析(推荐★ )

➢自定义依赖

➢拉线设置依赖

2.1自动解析

1.insert overwrite table table_ a as select * from project _b _name.table_ b;

血缘关系:

● 查询  project _b _name.table _b  的数据写入  table _a。

自动解析:

● project _b_name.table_ b  会作为该节点输入,格式为  project_ b_name.table_ b;

● table_ a  会作为该节点的输出,格式为  project_ a _name.table_a。

2.推荐自动解析的原因:

➢根据代码的逻辑,判断您在当前节点需要出某张表。当您以  project _name. tablename  的方式将其作为本节点输出时,后续其它节点需要查询该表时您无需关注要依赖哪个节点,您只需要关注要依赖该表当前周期产出的数据。

➢当您无法确定当前工作空间产出该表数据的具体节点时,您可以使用自动解析,帮助您快速开发业务流程。

➢使用自动解析该操作的前提是遵循自动解析规范。

➢同地域的工作空间支持自动解析依赖关系,即支持同地域跨工作空间配置节点调度依赖关系。

2.2 自定义依赖

➢代码编辑输入输出

➢手动添加上游依赖

➢自动准荐

1. 问题:

这个表数据是我本地上传的,自动解析将他解析出来了,但是提交报错依赖的父节点输出不存在,自动解析的依赖关系这里不能删除,该怎么办?

● 方式一:代码中编辑输入输出

-- @extra_ input=表名--添加输入

--@extra_ output表名--添加输出

--@exclude_ input=表名--删除输入

--@exclude_ output=表名--删除输出

输入和代码血缘分析不四配的提示

1.为什么会出现该提示?

代码中删除输入输出——找不到产出该表数据的节点任务——表数据是固定的?

2.需要我们关注什么?

确认这张表的数据源来源

● 本地上传的表数据,可忽略血缘关系不一致的提示

● 是  DataWorks  周期调度产出的表数据,

请务必再次确认产出该表数据的节点是否有将该表作为节点输出。

● 方式二:手动添加上游依赖

场景一:

需要依赖某个表数据。

场景二:

需要依赖某个节点,不一定存在表血缘依赖。

● 方式三:自动推荐

自动推荐:

当自动解析选择为否时,您可以使用自动推荐功能自定义添加需要依赖的上游节点。

自动推荐功能会自动解析出所有已经提交并发布至生产环境,并且实际运行产出该表的节点。

说明:由于需要提交发布至生产环境并真实产出该表数据的节点,才会被解析出来,所以此处解析的节点有 T+1 的延迟。


三、拉线设置依赖

● 在业务流程面板连线形成依赖关系后,系统会自动将上游节点的输出。

● 名称作为下游节点的上游依赖(输入),即上游节点自带的  out  输出。

● 名称作为下游节点的上游依赖(输入)。

注意:拉线设置依赖的时候自动解析是默认打开的


四、最佳实践

● 产出表数据的节点将该表作为节点输出。

● 一张表数据由一个节点产出,保证节点输出  region 下唯一。

● 建议任务名称和输出表名保持一致。


五、如何设置调度依赖

5.1同步任务调度依赖配置

同步任务:建议节点名为该同步任冬产出的表名。

5.2血缘关系

出现血缘关系不正确的原因如下:根据自动解析我们可以知道,当下游查询该表的数据时,自动解析会将该表作为当前节点的上游依赖,但在一开始并未将该表作为节点的输出 ,导致提交任务时报错依赖的父节点输出不存在,没有根据该表找到产出该表数据的上游任务。

5.3依赖的父节点输出不存在

报错场景:当前节点产出  dw _user_ info_ all _d  表数据,依赖 ods _log_ jinfo_d,ods_ user_info_d_ 1  表,其中  ods_ user_ jnfo_d_ 1  表提交报错。  

如果当前需要将节点提交上去不报错的解决方式:

1. 自动解析设置为否(不推荐x)

自动解析设置为否--血缘关系不一致--- 当前节点提交正常--下游

节点  select  表  dw _user_info_all_d   表--提交报错:

dw_ user_ info _all_ d  不存在-数据质量问题?

2.确认该表数据来源:

场景一 :本地上传的数据,代码中删除输入,忽略血缘关系提示,提交任务。

场景二:找到产出表  ods_ user_ jinfo_d_1  数据的节点,将该表作为节点输出。

5.4节点输出相同,提交失败

● 同  region  下同名节点需要修改一 个节点的输出。

● 一个表数据由一个节点产出。

5.5删除节点失败,当前节点存在下游

1.检查需要删除的节点调度配置界面

2.打开下游节点去除依赖

3.提交下游节点墅开发环境

4.发布下游节点整生产环境

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