概述
离线任务开发模块主要是设计数据计算流程,并实现为多个相互依赖的任务,供调度系统自动执行的主要操作页面。
对象
在数据开发阶段,平台提供了4种对象:任务、脚本、资源和函数。它们之间的项目关系如下图所示:
每个对象的说明如下:
- 任务:数据开发的主要对象,包含周期属性和依赖关系,是数据计算的主要载体,支持多种类型的任务和节点适应不同场景,详情请参见 [任务类型]。
- 脚本:数据开发的辅助对象,不包含周期属性和依赖关系,主要用于实现非周期的临时数据处理,如临时表的增删改等,详情请参见 [脚本开发]。
- 函数和资源:任务中的代码运行时需要引用的一些文件和计算函数,在任务正式执行前需要上传,详情请参见 [资源管理]和 [函数管理]。
流程
一个任务的开发和使用流程如下图所示:
任务运行说明
由流程的介绍可知,平台提供了3种运行方式,以使任务中的计算语句生效,适用场景和限制条件如下:
操作 | 触发方式 | 运维中心是否有实例生成 | 调度属性情况 | 适用场景 | 特殊说明 |
---|---|---|---|---|---|
页面直接运行 | 手动触发 | 否 | 不受调度周期和依赖关系影响 | 适用于代码调试阶段,无需保存提交 | 支持脚本和任务,但任务、脚本类型仅支持SQL1种 |
系统自动运行 | 系统触发 | 是 | 受调度周期和依赖关系影响 | 实现数据自动计算的主要方式,需要运维人员在运维中心维护所有周期实例按序成功执行 | 仅支持任务,不支持脚本,且使用最新提交的版本 |
补数据运行 | 手动触发 | 是 | 受调度周期和依赖关系影响 | 是对系统自动运行方式的补充,部分任务由于新建或者出错,需要触发今天之前一段时间的数据计算时使用该功能 | 仅支持任务,且使用最新提交的版本 |