DatwWorks终于升级2.0了,心情万分激动之余,又有一丝担忧。因为,没法再创建新的旧版工作流了。。。
新版抛弃了“工作流”这个概念,引入了“业务流程”和“解决方案”两个新的概念。于是,作为团队Leader,我花了很大的精力去钻研这两个概念到底该如何应用在我的实际业务中。
1.目的
能尽快应用DataWorks2.0的诸多给力新功能;
尽快解决掉由于无法新建旧版工作流引起的不便;
2.旧版工作流划分
任务节点一般分为以下几类:
- 源数据同步节点
- 单业务基础数据层统计节点
- 跨业务基础数据层统计节点
- 结果数据层统计节点
- 结果数据同步节点
2.1 划分维度
旧版本的工作流,主要包含以下几个维度:
2.1.1 源数据库
- 数据源是在哪个数据库中
- 包括:源数据同步节点
2.1.2 产品线
- 源数据属于哪个产品线
- 包括:源数据同步节点 + 单业务基础数据层统计节点
2.1.3 目标系统
- 结果数据是给哪个系统提供的(后台系统、BI、DataV、……)
- 包括:结果数据层统计节点 + 结果数据同步节点
2.1.4 业务模块
- 结果数据属于哪个业务模块(订单+投诉、订单+保险、商家+订单、……)
- 包括:跨业务基础数据层统计节点 + 结果数据层统计节点 + 结果数据同步节点
2.1.5 运行周期
- 每日、每周、每月运行
- 包括:所有节点
2.1.6 输入/统计/输出
- 包含的节点的类型,是属于“源数据迁入”、“统计任务”还是“结果数据迁出”
- 包括:所有节点
2.2 其他划分原则
- 尽量减少每个工作流所依赖的上游工作流的个数;
- 能用一句话给整个工作流起个名字;
- 每个工作流内的节点数量不超过30个;
3. 旧版工作流与新版业务流程的区别
3.1 运行周期
- 旧版工作流:
整个工作流(包含多个内部节点),对应一个运行周期 - 新版业务流程:
每个节点,对应一个运行周期
3.2 依赖关系
-
旧版工作流:
- 工作流依赖工作流;
- 内部节点依赖内部节点;
-
新版业务流程:
- 业务流程之间,无依赖关系;
- 节点依赖节点,可以跨业务流程依赖,可以不同运行周期的任务间依赖。
3.3 节点的分类
- 旧版工作流:
无分类,只能通过内部节点的命名来区分 - 新版业务流程:
可以自动按节点类型分类(SQL节点、数据同步节点、机器学习节点、……)
3.4 工作流(业务流程)的分类
- 旧版工作流:
无分类,只能通过工作流的命名来区分 - 新版业务流程:
可以通过“解决方案”功能来分类(类似于给每个业务流程打标签),“业务流程”与“解决方案”是“多对多”的关系。
3.5 提交范围
- 旧版工作流:
整个工作流(包含多个内部节点)一起提交 - 新版业务流程:
单个任务节点提交。也支持业务流程中多个节点批量提交的方式。
3.6 重命名
-
旧版工作流:
- 工作流不支持重命名;
- 内部节点不支持重命名;
-
新版业务流程:
- 业务流程支持重命名;
- 节点支持重命名;
3.7 添加文件夹的位置
- 旧版工作流:
多级文件夹→工作流→内部节点 - 新版业务流程:
业务流程→数据集成/数据开发→多级文件夹→节点
4. 业务流程划分原则
最后,关于我的业务流程的划分原则,总结如下:
- 业务流程是完成一个最小业务的;
- 业务流程的数量可以稍微多一点儿,可以通过解决方案去查找;
- 每个业务流程里的节点最好不要太多,每个业务流程里能直观展示的就只有那么多;
希望大家也能早日用上DataWorks2.0的诸多给力功能!不用继续在旧版工作流中缝缝补补。