首页 / 新闻

06.

30

2017

你应该知道的工作流调度平台——Transwarp Workflow

技术博客

在做数据分析处理时,一个作业往往不能实现我们业务目的,执行过程中通常会涉及多个作业任务,这些作业被按照逻辑连接起来,存在着相互依赖关系。

比如某数仓的构建过程可能涉及以下几项内容:

1)首先要将原始数据读到HDFS

2)然后进行数据清洗

3)接着将数据存入Inceptor分区表

4)执行SQL语句进行分析,其中可能涉及多表间的关联,过滤等操作

5)最终将分析结果导入业务系统,以供之后调用查看

若当前系统每天都会因交易的产生,新增大量数据,为了做到分析同步,要以天为周期执行上述流程。为了简化任务调度工作减少工作量,需要一种高效的工具,将各个作业关联组织起来,并自动运行这些离线批处理任务。

为此,星环发布了工作流调度平台Transwarp Workflow。Workflow是一种用于实现工作流调度DAG设计与管理的图形化工具,它支持Shell、SQL、JDBC、HTTP等任务类型,以及自定义Java任务。同开源Hadoop Oozie相比,Workflow在工作流调度方面的功能更强大,操作更方便,可用性更高。

 

Transwarp Workflow具有哪些特征?


工作流设计、编辑与调度器

Workflow是用于设计工作流DAG,并调度任务和工作流的服务平台。Workflow本身不做数据流的计算任务,而是将工作任务提交到Inceptor或者其他计算引擎来完成。

图形化的操作平台

提供图形化的操作平台,为用户提供设计工作流、调试任务、触发和调度策略等功能。并且具有丰富的分析能力,通过提供依赖关系、执行历史、甘特图等图表,帮助诊断工作流的执行状况。

团队协作

Workflow中所有工作流都具备完整的版本控制,能够支持工作流在团队间共享协助。同时我们将Workflow与Guardian整合做权限管控,实现更高的安全性。

支持多种数据量和任务类型

Workflow支持Shell、SQL、JDBC、HTTP等任务类型,并且允许用户写自定义Java任务。

高可用 + 高可扩展

Workflow服务本身通过Master-Standby机制保证高可用性,持久层通过TxSQL保证高可用。此外,Workflow本身不做复杂的数据计算,而是通过多个实例部署的方式提高可扩展性。

 

Transwarp Workflow的功能


Workflow的功能整体划分为以下四部分:仪表盘、工作流设计、监控、分析。

仪表盘

提供今日工作流整体状态以及工作流实时信息的概览。

Workflow仪表盘上可以浏览到当天所有工作流的状态统计和工作流状态列表。同时可以接收到工作流状态改变实时通知。

在顶部的搜索框内输入名称关键字,可以直接搜索目标工作流和任务。

工作流设计

设计工作流并完成调试,每一个工作流都是一组任务的有序排列。

点击顶部的按钮“设计”,查看工作流列表。

点击列表中各个工作流对象右侧的不同按钮可以对该工作流执行多种操作:进入设计模式,对工作流进行编辑;发布工作流;使已经发布的工作流下线;删除当前工作流;或者复制当前工作流。这些操作执行权限的都受到Guardian的控制和管理。

1.设计工作流

点击列表中的工作流名称,浏览该工作流的详情。

选择该页面的“设计模式”,即可开始对该工作流进行编辑。或者点击“新建工作流”,创建一个新的工作流。

Workflow支持的任务类型有脚本、SQL、定时器、触发器、数据流。用户可以直接用拖拽的方式将位于左侧的任务添加到中间的预览面板,任务编辑界面会自动弹出,提供任务和参数设置栏。

任务设置完成后,点击任务边框边缘可牵引箭头就能够指向后续任务。

在界面右侧对当前任务流进行信息配置,点击右侧上方保存。

2.调试工作流

选中分页标签“调试模式”进入调试页面,点击任务对象中的按钮可以执行该任务,通过按钮获得任务的执行结果。

或者点击右上方绿色按钮“执行工作流”,通过任务框和连线的颜色或样式可了解当前工作流的执行情况,任务处于绿色时表示已完成。

点击任务框下方的按钮,编辑该任务的基本信息。

监控

选择顶部的“监控”,可查看工作流列表。

点击工作流名称,进入对工作流内任务执行情况的监控页面。

该页面提供多种按钮,以从不同角度查看对该工作流执行情况的统计,包括:监控工作流的执行情况,包括当前执行情况、任务依赖情况、历史执行状态、运行时长等。

用户还可以根据工作流的状态筛选查看,共有以下几种状态:

未开始,运行中,已取消,已完成,故障中。

分析

工作流执行情况的统计以及可视化分析,包括工作流的执行时长、失败原因、调度准时性、任务完成比、工作流统计、当日增减工作流、当日变慢工作流。

demo演示

下面的演示视频囊括了上述功能的使用方法。

 

总结


Transwarp Workflow很大程度上简化了工作流调度设计与管理工作,图形化的设计方式让作业任务之间的逻辑关系更清晰,调试和分析功能可以反馈任务执行期间存在的问题,任务定时触发使工作执行被自动化,把原来工程师负责的工作简化到业务人员也可以很快上手操作的程度。

对此篇文章如有任何问题,欢迎以邮件形式联系我们:bigdataopenlab@transwarp.io