概述

离线任务开发模块主要是设计数据计算流程,并实现为多个相互依赖的任务,供调度系统自动执行的主要操作页面。

对象

在数据开发阶段,数栈提供了4种对象:任务、脚本、资源和函数。它们之间的项目关系如下图所示:

1576480492546 e3c4bb4e 178c 4e78 83f9 6540243e9f6f

每个对象的说明如下:

  • 任务:数据开发的主要对象,包含周期属性和依赖关系,是数据计算的主要载体,支持多种类型的任务和节点适应不同场景,详情请参见 任务类型

  • 脚本:数据开发的辅助对象,不包含周期属性和依赖关系,主要用于实现非周期的临时数据处理,如临时表的增删改等,详情请参见 脚本开发

  • 函数和资源:任务中的代码运行时需要引用的一些文件和计算函数,在任务正式执行前需要上传,详情请参见 资源管理函数管理

流程

一个任务的开发和使用流程如下图所示:

1576480492610 70f0c585 41fa 49ae 8c5e ac224fe74960

任务运行说明

由流程的介绍可知,数栈提供了3种运行方式,以使任务中的计算语句生效,适用场景和限制条件如下:

操作 触发方式 运维中心是否有实例生成 调度属性情况 适用场景 特殊说明

页面直接运行

手动触发

不受调度周期和依赖关系影响

适用于代码调试阶段,无需保存提交

支持脚本和任务,但任务、脚本类型仅支持SQL1种

系统自动运行

系统触发

受调度周期和依赖关系影响

是使用数栈实现数据自动计算的主要方式,需要运维人员在运维中心维护所有周期实例按序成功执行

仅支持任务,不支持脚本,且使用最新提交的版本

补数据运行

手动触发

受调度周期和依赖关系影响

是对系统自动运行方式的补充,部分任务由于新建或者出错,需要触发今天之前一段时间的数据计算时使用该功能

仅支持任务,且使用最新提交的版本