8.DataWorks 赋值-分支-归并-循环节点(二)|学习笔记

简介: 快速学习8.DataWorks 赋值-分支-归并-循环节点

开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:8.DataWorks 赋值-分支-归并-循环节点】与课程紧密联系,让用户快速学习知识

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


8.DataWorks 赋值-分支-归并-循环节点(二)

六、控制赋值节点应用

1、已经创建好一些流程,首先看一个正常的业务流程状态,就是赋值加分支,再加归并的节点。首先赋值语言的选择,选择sql或者 Python,是最后一行语句的一个输出结果作为下游的一个输入。调度配置,配置调度属性,重跑属性,调入一个周期,父节点的依赖。再看本节点的输出有没有异常。

30.png2、分支节点,首先对调度配置做一个配置,重跑属性,调度方式,调度的周期,依赖直接添加上游节点的节点名称,父节点输出名称,父节点输出名称看图中光标位置。

31.png3、根据输出名称搜索,它就可以搜索到相应的依赖关系,输入参数,添加时它就会展现出上游赋值的 output 的输出,再自定义引用数据参数名称,那只要保存就好好分支检点,它会也会带一个 output 的参数,用来下游分支去取时可以取到。

4、调整到相应的分支节点配置文档,可以更加方便快捷的去查看文档进行配置,到配置页面,添加分支,添加分支上游分支的一个条件,上游赋值节点输出了什么,在这边进行判断,可以支持多种运算符。 支持的 Python 比较运算符 运算符 描述 示例  == 等于:比较对象是否相等。 (a=b)返回 faise  != 不等于:比较两个对象是否不相等。 (a!=b)返回true  <> 不等于:比较两个对象是否不相等。 (a<>b)返回true。这个运算符类似!=。  > 大于:返回x是否大于y。 (a>b)返回 False  < 小于:返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量 (a<b)返回true  >= 大于等于:返回x是否大于等于y。 (a>=b)返回 False  <= 小于等于:返回x是否小于等于y。 (a<=b)返回 true  如果是字符串类型,就在字符串两边加一个单引号,它就可以进行判断,关联到的节点输出,自定义输出名称,输出名称是为了让下游两个分支去挂依赖时可以明确的搜索到去挂到哪个分支上面,等于a时走分支a走这条链路,等于b时走分支b这条链路。具体一个分支情况可以挂任何节点,最主要还是在调度配置,剩下的父节点是分支a就是关联上的一个节点输出的名称,根据这种输出名称在这里进行搜索,这里需要注意一点,就是因为在分支比较多的情况下,这里的分支依赖不要依赖混了,这是比较关键的一个点,有同学就是因为搞混了,走的调度不对,数据上面就会有错误的情况,同样分支b也是这种配置。根据分支条件的输出,就是搜索上面的一个父节点依赖。

5、两个分支下面演示了两个状态,一个是挂归并节点的一个状态归并节点先去调度配置,将分支a,分支b作为它的父节点,添加输出名称或者是输出表名,直接添加上分支就可以。

32.png6、接下来是归并条件的设置,通过分支,可以选择上游的分支运行状态,成功或者是失败或者是被跳过的状态。进行两个分支条件的选择,两个分支节点,其中一个成功就可以判断为归并节点的成功状态,或者是必须要两个节点都成功,归并节点才会成功。

7、另外一种是两个分支下面直接挂sql,这些节点都创建完成之后,依赖这些信息都确保ok之后,进行整体提交,提交发布,发布到运维中心,切换到运维中心,测试看它的运行状态,展开所有子节点。测试下图中链路。

33.png8、补数据,等它运行完查看它的状态。看一个分支的情况,因为刚刚赋值输出了一个a,所以它实际是有运行的一个状态。再看分支b,分支b它的一个日志状态就是跳过的状态。先来看下游挂分,挂归并节点的一个类型日志。归并节点对上游两个分支一个判断,刚刚设置两个都是成功的状态,可以看到两个分支都是成功的,状态是匹配上的。第二个分支b状态没有匹配上,因为归并条件设置的是一个或,就是两者只要满足其一的条件,它就可以让归并条件为成功,那它的下游也是实际会运行的一个状态,有实际的日志情况。

9、分支下面直接挂sql一个节点,它的一个日志状态,直接挂在分支节点下,它就会是一个同样一起跳过状态,因为它上游因分支b是一个跳过状态,所以它直接挂也是会跳过。智能化,有归并就会直接跑。

10、另外这边还有一个就直接对进行状态的判断测试,因为它上面是失败,现在用户需要的产品会比较多,比如它不管上游的运行状态如何,它都想要继续运行下游,因为不想因为一个节点的失败,堵塞了整体的业务流程的运行。这种直接配置它归并节点的判断,判断它的上游,不管是成功或者是分支运行的状态,它就会是一个它就会去判断不管成功或者是失败,它都会继续运行。

11、查看日志情况,它的上游输出是一个odps一个数据集成的任务,实际状态是失败的,设置的状态不管是成功或者失败都继续使归并保持成功,它的状态匹配上,归并节点就返回一个成功的状态,继续去运行下游。

35.png12、最后是一个循环的场景,在一个循环节点内部,它的上游赋值输出一个结果集,根据输出结果集的个数,去循环几次,它会输出三个结果,同样的检查配置情况,看一下依赖情况,依赖没问题,一般都不会有问题。star一个节点,上游的一个父节点挂载,循环次数的参数名称,都是由赋值节点直接输出的。需要注意上游赋值节点的输出,它是直接挂载在一个遍历节点整体的调度配置中,而不是点开一个上游节点挂到里面的一个状态,不是将节点上下文设置在这边,而是设置在一个遍历节点的整体的一个外部,就在这边去进行设置。直接到里面设置,它会拿不到赋值的输入,因为 for each shell 这个节点的上游节是一个 star 的节点,所以它不会直接拿到赋值节点的输入。

36.png13、打印输出的结果,循环的次数,配置完成之后,整体提交任务,去运维中心测试一下。操作数据。

14、任务状态,任务依赖在周期任务中都是正常情况,第二天它就会正常的生成实例运行。查看补数据的运行情况,有报错,因为时间没到。

15、直接运行会弹出一个框。

16、如果是一个标准项目,如果有些用户不知道自己的项目是标准模式还是检查模式,可以从工作空间管理入口进来,可以看到模式情况是标准的一个模式。 

40.png17、可以将任务提交,进入到运维中心开发环节去测试,如果不想直接到生产上,怕影响生产上的任务,就可以到运维中心开发环境,运维中心开发环境,直接可以定位,区分状态,一个生产一个开发,分辨不清楚,url中它也可以清楚的看到,一个是 dav,一个是 prod,两个不同的一个环境,比如项目是一个简单模式的项目,就没有运维中心的开发环境。运维中心的一个开发环节,它是不会自己去产生周期实例的,它不会自动调度,所以必须要提交发布到生产环境之后,它才会每天去跑,这种便利节点,不直接去查看运行日志。直接从外部这样进入查看日志,它会看不到,它会显示一直为空。

18、遍历节点之后,复合类的节点它会有一个查看内部节点的状态,它就会显示出循环的次数,在具体的节点中右键查看日志情况,也会给到一个提示,就是循环次数最大为128次,操作就会失败,目前次数是不能做更改。

19、因为是公共调度资源组,所以它的资源会比较紧张,任务都跑起来了,现在资源比较紧张,所以看之前的数据情况,之前有一个测试运行成功的,相同的节点,只不过时间不一样。看一下运行日志,它会打印一个输出的结果集,查看运行日志,它实际是没有产生日志的。

20、在外面整体中需要查看内部节点,因为打印出了三个 result,"this is name, ok, hello",可以看到循环了三次。

43.png21、查看每次的运行结果,当前循环的次数第一次,循环次数第二次,循环次数第三次,这就是赋值加循环的一个简单的流程。

22、最重要的一点还是在依赖的设置部分,就是依赖的挂载,调度配置里面,节点上下文的一个传参,这里的一个设置,一个父节点的设置,在流程比较多比较复杂时,尤其容易搞混,这种情况下就需要特别的注意。

50.png23、归并节点状态的一个判断,它分析情况就会比较容易搞混,只要多留心注意,就没有问题。

51.png

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
7月前
|
SQL 分布式计算 DataWorks
使用DataWorks PyODPS节点调用XGBoost算法
本文介绍如何在DataWorks中通过PyODPS3节点调用XGBoost算法完成模型训练与测试,并实现周期离线调度。主要内容包括:1) 使用ODPS SQL构建数据集;2) 创建PyODPS3节点进行数据处理与模型训练;3) 构建支持XGBoost的自定义镜像;4) 测试运行并选择对应镜像。适用于需要集成机器学习算法到大数据工作流的用户。
306 24
|
分布式计算 DataWorks 数据处理
"DataWorks高级技巧揭秘:手把手教你如何在PyODPS节点中将模型一键写入OSS,实现数据处理的完美闭环!"
【10月更文挑战第23天】DataWorks是企业级的云数据开发管理平台,支持强大的数据处理和分析功能。通过PyODPS节点,用户可以编写Python代码执行ODPS任务。本文介绍了如何在DataWorks中训练模型并将其保存到OSS的详细步骤和示例代码,包括初始化ODPS和OSS服务、读取数据、训练模型、保存模型到OSS等关键步骤。
699 3
|
SQL 机器学习/深度学习 分布式计算
dataworks节点任务
在DataWorks中,你可以通过拖拽节点以及连线来构建复杂的工作流,这样可以方便地管理多个任务之间的依赖关系。此外,DataWorks还提供了调度功能,使得这些任务可以在设定的时间自动执行。这对于构建自动化、定时的数据处理管道非常有用。
308 5
|
DataWorks 关系型数据库 MySQL
DataWorks产品使用合集之mysql节点如何插入数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
221 1
|
分布式计算 DataWorks NoSQL
DataWorks产品使用合集之怎么设置在归并节点传递参数
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之如何处理在DI节点同步到OceanBase数据库时,出现SQLException: Not supported feature or function
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
441 0
|
分布式计算 DataWorks Java
DataWorks操作报错合集之CDH节点上传jar包时遇到报错,该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
11月前
|
DataWorks 监控 数据建模
DataWorks产品体验评测
DataWorks产品体验评测
|
11月前
|
分布式计算 DataWorks 搜索推荐
DataWorks 产品评测与最佳实践探索!
DataWorks 是阿里巴巴推出的一站式智能大数据开发治理平台,内置15年实践经验,集成多种大数据与AI服务。本文通过实际使用角度,探讨其优势、潜力及改进建议。评测涵盖用户画像分析、数据治理、功能表现等方面,适合数字化转型企业参考。
277 1
|
12月前
|
数据采集 人工智能 DataWorks
DataWorks产品最佳实践测评
DataWorks产品最佳实践测评