论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Oracle
›
一文读懂:开源大数据调度系统Taier1.2版本新增的「工作 ...
一文读懂:开源大数据调度系统Taier1.2版本新增的「工作流」到底是什么? ...
火影
金牌会员
|
2022-10-18 14:29:32
|
显示全部楼层
|
阅读模式
楼主
主题
641
|
帖子
641
|
积分
1923
一、什么是工作流?
在阐述什么是工作流之前,先说一下工作流和普通任务的区别,在于依赖视图。
普通任务本身他只会有自己的dag图,依赖视图是无边界的,不可控的,而工作流则是把整个工作流都展示出来,是有边界的,可控的,这是工作流的优势。下面为大家介绍工作流的相关功能:
01 工作流—功能介绍
● 虚拟节点
虚拟节点,它是不产生任何数据的空跑节点(即调度到该节点时,系统直接返回成功,不会真正执行、不会占用资源或阻塞下游节点运行),比如说任务并行执行,那么就会用到虚拟节点。
● 周期生成
指调度系统按照调度配置自动定时运行的任务。
● 补数据运行
当业务变更,可以使用补数据功能。如修改了某个任务的代码,可将本月的数据按照新的代码重新跑一遍,立即生成所需数据。
● 调度属性
工作流中的子任务依赖于父任务的周期调度属性,父任务修改后,子任务同步修改,以工作流的周期调度属性作为各个子节点的周期调度时间。
● 工作流所在目录
修改工作流目录同步修改工作流下的子任务目录。
02 工作流—依赖成环
具体实现:
任务完成依赖的关系,key为当前节点,value为该节点的所有父节点Map < long list> nodeMap。
遍历nodeMap,以此遍历单集合中的每一个节点。每遍历一个新节点,就从头检查新节点之前的所有节点,用新节点和此节点之前所有节点依次做比较。如果发现新节点和之前的某个节点相同,则说明该节点被遍历过两次,链表有环。如果之前的所有节点中不存在与新节点相同的节点,就继续遍历下一个新节点,继续重复刚才的操作。
二、Taier工作流周期实例运行
了解完工作流的功能介绍后,我们来为大家分享Taier工作流周期实例运行:
01 Taier—周期实例生成
Taier主节点在启动的时候,会开启一个定时器,定时器会不停的去判断当日的实例是否已经生成。如果没有生成,就会触发事件给CycleJobBuilder生成实例,再通过JobDependency封装实例之间的依赖关系。
● CycleJobBuilder
用于生成周期实例。扫描数据库任务表并且获取zk上所有的Taier节点,把封装后的实例分配到每一台Taier节点上。
● JobDependency
用于生成job之间的依赖关系。
02 Taier—调度流程
在启动Taier服务时,会启动配置的所有调度器,并且开始扫描实例,并提交。
03 Taier—工作流任务状态修改逻辑
任务提交拦截器处理:
1、工作流下无子任务更新为完成状态
2、工作流下任务都是完成状态,任务提交队列可以移除
3、同时更新工作流engine_job状态,工作流只有四种状态,成功/失败/取消/提交中:
(1) 所有子任务状态为运行成功时,工作流状态更新为成功
(2) 工作流状态根据子任务的运行状态来确定,失败状态存在优先级:运行失败>提交失败>上游失败
a.子任务存在运行失败时,工作流状态更新为运行失败
b.子任务不存在运行失败时,存在提交失败,工作流状态更新为提交失败
c.子任务不存在运行失败时,不存在提交失败,存在上游失败时,工作流状态更新为上游失败
(3) 子任务存在取消状态时,工作流状态更新为取消
(4) 若子任务中同时存在运行失败或取消状态,工作流状态更新为失败状态
(5) 其他工作流更新为运行中状态
三、Taier1.3即将上线功能
新增功能
· ChunJun的向导模式数据源增强 hive1、hive2、hive3、sparkThrift、oracle、mysql、postgresql、sqlserver 、es7
· flink on standalone、python.shell、spark jar 、pyspark支持
· 自定义任务类型 web界面配置抽取
· windows开发环境适配
袋鼠云开源框架钉钉技术交流qun(30537511),欢迎对大数据开源项目有兴趣的同学加入交流最新技术信息,开源项目库地址:
https://github.com/DTStack/Taier
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
火影
金牌会员
这个人很懒什么都没写!
楼主热帖
最全Windows98原版系统镜像下载(特点 ...
Redis 原理 - String
微信小程序+web数据库的开发实践 ...
用python反弹shell
如何配置 SLO
SAP各模块优缺点和发展简析
已测试安卓11
公众号接入 ChatGPT 了!
[Python]解密pyc文件
理论+实践,教你如何使用Nginx实现限流 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表