You need to enable JavaScript to run this app.
导航

基本概念

最近更新时间2022.05.27 18:32:54

首次发布时间2021.02.23 10:41:55

1 项目

DataLeap以项目作为任务开发、管理的基本单位。创建项目后,才能使用DataLeap进行任务开发。
一个工作项目支持绑定E-MapReduce(EMR)、LAS等多种类型的计算引擎实例。绑定引擎实例后,即可在项目中开发和调度引擎任务。

2 任务

任务是对数据执行的操作的定义。
您可以执行如下操作:

  • 进入 任务开发 页面,新建、编辑任务的配置信息。

  • 进入 运维中心 页面,对任务进行单个、批量关闭、开启、移动等操作。

3 任务状态

  • 新建的任务提交上线后,才可以按照配置执行。

  • 已经上线过的任务改动后,需要重新提交上线,新的配置才会生效。

  • 任务上线后不会自动终止已经生成的实例,手动重跑后,实例才会按照修改后的任务执行。

具体的任务状态如下:

任务状态任务名称前图标颜色具体说明
草稿未上线任务没有上线过
草稿与线上版本不一致任务上线过,草稿与线上配置不一致
任务已上线,无草稿版本任务上线了,草稿与线上配置一致
说明:当任务为关闭/下线状态时,任务名称前的图标会有一个关闭图标。

4 实例

实例是某个任务在某一时刻执行的一个快照。任务经过系统调度、手动触发运行后,会生成一个实例。实例中会有任务的运行时间、运行状态和运行日志等信息。
可以进入 运维中心-> 实例运维 页面,查询实例的相关信息。

4.1 任务调试

在任务上线运行前,可通过调试运行确认任务配置、数据处理结果是否符合预期。

说明:

  • 测试运行使用的是线上环境、线上库。
  • 测试运行实例的DAG图中,不展示依赖关系。

4.2 任务周期/定时执行的条件

任务执行需同时满足以下两个条件:

  1. 在任务调度设置中,设定的执行时间到达。

  2. 在实例DAG中,任务依赖的所有上游任务的对应实例执行成功。

4.3 任务执行时间和业务日期

  1. 执行时间:由您设定,任务在哪个时间开始执行。

  2. 业务日期:任务本次运行,处理的是哪一天/小时/分钟的数据。

  3. 不同执行频率的任务的业务时间代表含义如下:

    1. 天/周/月任务的业务时间=执行日期前一天0点

    2. 小时任务的业务时间=执行时间前一个小时

    3. 同一天执行的小时任务和天任务,业务时间的日期部分相差一天。 当小时任务和天任务彼此依赖时,通过 依赖预览 ,可以确认依赖配置是否符合预期。

${date}等更多时间变量请参见:平台时间变量与常量说明

5 资源、函数

可以在DataLeap中通过界面管理资源和函数。请参见:资源库函数库

6 调度设置

6.1 任务调度类型

任务上线后,有两种调度类型:周期调度和手动调度。

  • 周期调度:系统按照您设定的执行频率、执行时间,自动触发任务执行。

  • 手动调度:手动触发任务执行。

6.2 依赖设置

6.2.1 任务依赖

定时任务的本质是数据处理,在处理数据过程中,可能会涉及数据输入和数据输出两个过程。任务在读入数据时,会形成任务之间的依赖,其实质即为表之间的依赖,数据开发使用任务依赖,来形成数据工作流的上下游关系。

6.2.2 跨周期自依赖

  • 月任务:本月任务的执行,依赖上月的运行结果。

  • 周任务:本周任务的执行,依赖上周的运行结果。

  • 天任务:当天任务的执行,依赖昨天的运行结果。

  • 小时任务:当前小时的任务执行,依赖上一个小时的运行结果。

  • 分钟任务:当前分钟的任务实例执行,依赖上一个分钟任务实例的运行结果。

6.2.3 任务之间的依赖配置

说明:M-月执行频率,W-周执行频率,D-天执行频率,H-小时执行频率

类型实际案例偏移设置(区间/集合 偏移量 偏移单位)
D依赖D依赖上游任务当天的实例集合 0 天
D依赖D依赖上游任务前一天的实例集合 -1 天
D依赖D依赖上游任务最近3天的实例区间 [-2,0] 天
D依赖H依赖上游任务同一业务日期24个小时的实例区间 [-23,0] 小时
D依赖H依赖上游任务同一业务日期业务日期为0点、8点、16点的实例集合 [-23,-15,-7] 小时
D依赖W依赖上游任务上周的实例集合 -1 周
D依赖M依赖上游任务上月的实例集合 -1 月

7 其他

7.1 Sensor任务

Sensor任务包括以下两种类型:

  • Hive-sensor任务:监控指定表数据分区数据是否就绪。

  • HDFS-sensor任务:监控指定HDFS路径下数据是否存在。

数据开发中,当数据表存在以下情况时,可利用sensor任务检测表指定分区数据是否存在。

  1. 目标任务运行前,需要确认所需表分区数据是否存在。

  2. 没有任务定时更新目标任务使用的数据表。