数据仓库运维自动化调度平台TASKCTL流程触发方式

2022-05-11 14:07:16 浏览数 (4)

关于TASKCTL

TASKCTL是塔斯克信息技术有限公司,专为数据仓库批量调度自动化打造的一款【国产免费】企业级调度管理监控平台;该平台拥有完善的体系、全面的功能、简易的操作和超前的设计风格,使产品结合 ETL 调度技术领域的特点,构建了一套直观易用的 ETL 调度设计、监控维护、管理平台。可为从业人员提供简便、统一的方法来管理各类复杂作业的调度和监控管理。

应用场景

TASKCTL 通过将企业内部复杂的作业调度依赖关系,进行灵活的统一编排和管理,带来前所未有的简便性。通过采用全内存计算,基于全事件技术驱动,可简单、快速地对作业进行定义、编排和执行,并生成优化调度执行建议,高效地执行作业调度;主要实现对 ETL 作业、存储过程、SQL 语句、shell 脚本、DS 作业等多类型作业的自动化编排和调度,既可用于帮助用户轻松构建自动化、规范化批量调度管理平台,也可用于支撑大数据时代下数据流向的调度管理自动化等,形成专门的解决方案。

流程不同批次的触发

作为调度,流程的触发是非常普遍的应用场景;而流程触发最常用的是时间定时触发以及文件到达触发时间触发

代码示例如下:

​在流程开始位置,添加了一个 nulljob 空作业,并设置了时间运行条件。只要当时间运行条件满足后,才能执行后续作业,从而达到定时触发的目的。

在实际应用中,对于定时触发流程我们一般需要增加开始运行时间参数 $(startdatetime),当流程跑完一个批次后,让这个参数值加 1 天,这样它就不会一直小于系统当前时间,以保证流程每天只能运行一次。

文件到达触发

文件到达触发是指相关数据文件到达后,指定流程就开始调度运行。平台自身提供了 filewatch 文件到达作业类型,通过简单的配置它的 para 属性(其值为文件路径),就能快速方便的监控文件是否到达。

以下是文件达到触发例子:

​在流程文件到达触发实际应用中,文件到达一般是相对业务日期而言,即哪个业务日期的文件到达,因此在判断文件是否到达程序中,一般需要一个业务日期参数。如上图所示 $(workdate)参数的运用。

流程翻牌处理

流程翻牌是 ETL 流程中一个常用概念,简单地说,流程翻牌表示一个批次流程结束,同时可能会修改一些与业务相关的信息,比如业务日期,处理一个批次后,需要将日期修改为下一天。

代码示例如下:

​与开始触发类似,平台自身不提供流程翻牌机制。流程的核心只是单纯的对作业的调度管理。这种具有一定业务特征的过程都留给客户通过作业自行完成。

在上述例子中,在流程最后,我们通过 modivarv 作业修改时间变量 $(startdatetime) 增加为下一天来完成翻牌处理。关于“addday”及更多函数的运用,可参考 TASKCTL 安装时自带的的范例(“所有内置函数的使用”)。

流程多模块设计

流程多模块设计是 TASKCTL 流程设计的核心技术之一,也是最为广泛的应用。在本节点,我们主要从一个实际 ETL 应用需求出发,并通过多模块技术来设计流程。

一个 ETL 流程需求示例 :

​流程实现

对以上流程需求,我们采用一个多模块方式实现,主要是将需求中每部分通过一个模块或多个模块实现。

实现流程如下图所示:

​以上各个子模块由项目相关成员分别完成,然后在流程主模块中分别定义 include 节点引用相关模块即可。

主模块代码设计如下:

1 人点赞