1.DataWorks 调度依赖的基本使用(一)|学习笔记

简介: 快速学习1.DataWorks 调度依赖的基本使用

开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:1.DataWorks 调度依赖的基本使用】与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/81/detail/1238


1.DataWorks 调度依赖的基本使用(一)

内容介绍:

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

二、如何设置调度依赖

三、常见问题

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

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

(1)设置调度依赖是为了保障业务数据有效、适时地产出,形成规范化的数据研发场景。这里针对的是调度的场景,也就是表数据每天都有更新这种情况,就是为了保障每个节点在取数都能取到准确的数据。

(2)当前节点去 select 附表附表数据已经产出,规范的依赖关系配置后,无需关心当前节点需要依赖表由哪个节点产出,通过 DataWorks 自动解析一键为您设置任务依赖。

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

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

(2)观念转变“表之间依赖”转换为“产出表数据的节点之间依赖” XC_ rpt user_ info_ d这个节点产出了表的数据,如果表数据需要正确的取到数据,那上游的这些节点需要正确的执行。

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

3、调度依赖的原理

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

(2)场景示例:

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

(3)问题:

我知道需要依赖这个表数据,也知道这个表数据由哪个节点产出,但是我不可能每次需要依赖表的时候,都打开这个节点找到他的输出设置依赖关系,团队协同开发的时候,这样也是不可能的。怎么办呢? 比方现在当前项目需要依赖另一个项目的某一张表,那不可能专门找到表,那去问它产出表述里的节点,它的节点输出是什么?也不可能就为了挂一个节点依赖将它加入到项目,那这种场景应该怎么办?


二、如何设置调度依赖

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

(1)自动解析

(2)自定义依赖

(3)拉线设置依赖

拉线设置依赖关系是包括在自定义里面的,但是由于拉线设置依赖关系的场景比较多,用户用的比较多,所以这里单独拿出来说明。

2、自动解析

(1)insert overwrite table table_ a as select * from project_ b. _name.table_ ,b;

(2)血缘关系:

查询project_ b_ name.table. b的数据写入table_ a.

(3)自动解析:

project. b. _name.table_ b会作为该节点输入,格式为project. _b. name.table. _b ;

table_ a会作为该节点的输出,格式为project a _name.table. a

当前table a的数据是依赖于项目b下面的table b的数据,自动解析时候会将table表作为节点的输出,格式是项目名点表明,当前节点selecttable b的表作为节点的输入,也就是父节点的输出。这样自动解析会将输入和输出挂好。

3、自动解析与依赖关系

上游节点insert ods_log_info_d这张表,将表作为节点的输出,下游正好又用到了ods_log_info_d这张表,将它表里的数据选取了部分写入到了dw_user_info_all_d这张表。在这里,自动解析会将当前节点select ods_log_info_d这张表作为当前节点的上游,也就是在父节点依赖着,会加上这一条项目名点表明的输入,通过输入可以找到父节点,从而挂上依赖线,这样自动解析和依赖关系就可以因为一键设置任务依赖。

4、推进自动解析的原因

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

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

使用自动解析该操作的前提是遵循自动解析规范,也就是产出一张表的数据,一定要将这张表作为节点的输出,方便下游再去挂依赖关系。

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

5、自定义依赖

(1)代码编辑输入输出

(2)手动添加上游依赖

(3)自动推荐

自定义依赖有三种,就是代码中直接编辑输入输出,手动添加上游依赖,还有就是自动推荐。第一点就是在代码里面直接编辑输入输出。第二种就是在依赖的上游这里手动添加上游的输出表名,还有自动推荐按钮。

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
7月前
|
缓存 搜索推荐 CDN
HTTP缓存策略的区别和解决的问题
总的来说,HTTP缓存策略是一种权衡,需要根据具体的应用场景和需求来选择合适的策略。理解和掌握这些策略,可以帮助我们更好地优化网页性能,提高用户的浏览体验。
219 11
ly~
|
供应链 搜索推荐 大数据
大数据在零售业中的应用
在零售业中,大数据通过分析顾客的购买记录、在线浏览习惯等数据,帮助零售商理解顾客行为并提供个性化服务。例如,分析网站点击路径以了解顾客兴趣,并利用历史购买数据开发智能推荐系统,提升销售和顾客满意度。此外,大数据还能优化库存管理,通过分析销售数据和市场需求,更准确地预测需求,减少库存积压和缺货现象,提高资金流动性。
ly~
1096 2
|
内存技术
除了智能照明系统,PWM 还可以应用在哪些领域
脉冲宽度调制(PWM)技术不仅适用于智能照明系统,还广泛应用于电机控制、电源管理、音频处理和通信系统等领域,以实现高效能的信号和功率控制。
1013 11
|
缓存 JSON 安全
深入了解 Elasticsearch:10个常见面试问题及详细答案
Elasticsearch 是一个强大的搜索和分析引擎,广泛应用于处理大型数据集和构建实时搜索应用程序。在准备 Elasticsearch 面试时,掌握一些常见问题的答案至关重要。本文将为你提供10个常见的 Elasticsearch 面试问题,并详细解答每个问题。
|
缓存 Java API
API接口性能优化管理
在数字化时代,API性能优化对于提升软件效率和用户体验至关重要。本文介绍了多种优化方法:配置优化包括调整JVM参数等;代码层面减少重复调用并批量操作数据库;池化技术如线程池和HTTP连接池能有效利用资源;数据库优化通过索引提高查询速度;异步处理则使主流程业务不受阻塞;缓存策略如Redis缓存减少数据库访问;可观测性工具如日志平台和APM帮助监控性能。综合运用这些方法,可根据业务需求持续调整优化,显著提升API性能及用户体验。
|
存储 分布式计算 监控
基于IoTDB 平台的学习和研究
Apache IoTDB是专为物联网设计的高性能时序数据库,适用于大规模数据存储、高速数据摄入和复杂分析。其特点是轻量级架构、高性能、丰富的功能集,并与Hadoop、Spark和Flink集成,支持边缘计算和云端部署。关键功能包括最新点查询、灵活部署、数据压缩和安全机制。此外,IoTDB在工业物联网场景中有广泛应用,如设备监控和智慧城市。该数据库易于使用,支持SQL-like查询,并提供与Spring Boot的整合示例。
1169 3
|
安全 Java 数据库连接
[AIGC] Spring框架的基本概念和优势
[AIGC] Spring框架的基本概念和优势
303 1
|
监控 网络协议 安全
2023年最新整理的中兴设备命令合集,网络工程师收藏!
2023年最新整理的中兴设备命令合集,网络工程师收藏!
1180 0
|
存储 Web App开发 编解码
智能存储HEIC&AVIF图片硬件压缩方案详解
图片格式的进化一图抵千文,因此很多的应用都会用图片来表现丰富的内容。提起图片格式,大家耳熟能详的有JPEG,PNG,WEBP等等,这也是当前互联网上主流的图片格式,然而在过去的十年,随着技术的发展,图片的压缩技术又取得了长足的进步,新的图片格式已经涌现,使用这些传统的图片格式已经不再是最优的选择。在过去的10年移动互联网快速发展,使网络速度越来越快,但是手机的摄像头分辨率也越来越高,用户手机的UG
2174 0
智能存储HEIC&AVIF图片硬件压缩方案详解
|
人工智能 JavaScript
vue父组件调用子组件this.$refs报错,undefined、not a function问题解决方法
vue父组件调用子组件this.$refs报错,undefined、not a function问题解决方法