首页 文章 精选 留言 我的

精选列表

搜索[1.2版本],共10022篇文章
优秀的个人博客,低调大师

一文读懂:开源大数据调度系统Taier1.2版本新增的「工作流」到底是什么?

一、什么是工作流? 在阐述什么是工作流之前,先说一下工作流和普通任务的区别,在于依赖视图。 普通任务本身他只会有自己的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开发环境适配 袋鼠云开源框架钉钉技术交流群(30537511),欢迎对大数据开源项目有兴趣的同学加入交流最新技术信息,开源项目库地址:https://github.com/DTStack/Taier

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册