前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据仓库运维自动化调度平台TASKCTL流程触发方式

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

原创
作者头像
TASKCTL 任务调度平台
发布2022-05-11 14:07:16
4800
发布2022-05-11 14:07:16
举报
文章被收录于专栏:TASKCTL技术交流讨论

关于TASKCTL

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

应用场景

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

流程不同批次的触发

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

代码示例如下:

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

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

文件到达触发

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

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

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

流程翻牌处理

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

代码示例如下:

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

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

流程多模块设计

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

一个 ETL 流程需求示例 :

​流程实现

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

实现流程如下图所示:

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

主模块代码设计如下:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于TASKCTL
    • 应用场景
    • 流程不同批次的触发
    • 文件到达触发
    • 流程翻牌处理
    • 流程多模块设计
    • ​流程实现
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档