You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
导航

调度设置

最近更新时间2023.08.28 10:48:29

首次发布时间2021.08.13 15:07:14

1 概述

任务调度是指系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程,有助于提高效率。 调度设置分为基本信息、调度属性、依赖关系和输入输出参数等部分。

2 功能入口

  1. 登录 DataLeap租户控制台

  2. 概览界面,显示加入的项目中,单击数据开发进入对应项目。

  3. 任务开发界面,左侧导航栏中,双击打开某个离线任务,进入节点的编辑界面。

  4. 单击右侧导航栏的调度设置按钮,进入配置。

3 功能介绍

3.1 基本信息

参数描述
任务名称显示创建任务时输入的任务名称,调度设置中不支持修改。您可以在左侧任务目录树结构中,在任务名称的右侧更多入口中,单击重命名进行修改。
任务类型不同引擎类型支持的任务类型不同。
引擎类型E-MapReduce(EMR) 和湖仓一体分析服务 (LAS)两种引擎类型

关联实例

当引擎类型为 EMR 时,同步显示项目关联的实例;
当引擎类型为 LAS 时,同步显示关联实例为 default。

任务描述非必填,可对任务进行详细描述,方便后续查看和管理。

责任人

  • 仅限一个成员,默认为任务创建人(任务执行失败、复查通过或者失败时的默认接收者),可根据实际需要,修改为其他项目成员。
    • 责任人需为项目中有编辑权限的成员,项目权限须由项目管理员授权。
    • DataLeap 通过项目空间实现开发协同,项目中具有编辑权限的角色,可对项目下的所有任务进行编辑,因此无须通过为任务设置多个责任人,来达到协同合作的效果。
调度资源组DataLeap平台提供的资源组,用于生成定时调度实例,目前默认提供公共调度资源组。

LAS队列

当作业类型为 LAS引擎开发作业时显示,您可基于创建项目时绑定的引擎计算队列来下拉选择。

注意

子账号选择LAS队列时,需要有队列使用权限,需主账号前往 LAS控制台-权限管理 授予子账号队列权限。

标签

您可以自定义标签,用于标识某一类任务,以便快速搜索过滤,操作即时生效,无需重新上线任务。

  • 下拉选择项目归属的标签组,及对应的标签信息,支持添加多个标签组。
  • 若没有可选的标签组,您可进行以下操作步骤:
    a. 进入 DataLeap 智能市场 > 任务标签管理,进入任务标签管理控制台,新建标签组。详见任务标签管理
    b. 新建标签组成功后,前往项目管理 > 具体项目的配置信息 > 标签管理来添加标签组。详见标签管理

3.2 调度属性

参数描述

调度状态

分为开启和关闭,默认开启。
开启代表任务可以被调度,关闭代表任务不可以被调度。
您可前往运维中心操作关闭或开启任务调度。

调度类型

  • 周期调度:上游任务成功后,根据设定的频率和执行时间,任务自动开始执行。
  • 手动调度:系统不会自动调度,需手动执行。手动执行的操作入口为 运维中心 > 离线任务运维 > 上线任务 > 数据回溯
调度生效日期当调度类型选择周期调度时,可对调度的生效时间范围进行设置。

执行频率&执行时间

  • 分钟级:执行时间需要设置时间间隔和执行时刻,时间间隔目前支持选择5分钟、10分钟、20分钟、30分钟级别。

    说明

    • 离线集成任务暂不支持分钟级调度。
    • 执行时刻应选择低于时间间隔粒度,如10分钟级别调度,执行时刻支持选择 0~9 分。
  • 小时级:执行时间需要设置执行小时和执行时刻,执行小时支持多选。
  • 天级:执行时间需要设置具体的时间。
  • 周级:执行日期需要设置每周几来执行,支持多选,还需选择具体执行时间。
  • 月级:执行日期需要设置每月几号来执行,支持多选,还需选择具体执行时间。
分时调度当调度类型选择周期调度,执行频率选择分钟级或者小时级时,出现分时调度属性。
启用分时调度,设定运行时间不在分时调度时段内的实例,将在下一个时段开始时才提交调度,以缓解非指定时段的执行压力。
调度时段设置,举例:
1. 分时调度区间为6:00~22:00,若有一个设定运行时间为23:00的实例,将延迟到第二天6:00才提交调度执行。
2. 分时调度区间为22:00~6:00(当日晚上10点~次日早上6点),若有一个设定运行时间为7:00的实例,将延迟到当天22:00提交调度执行。
最早回溯时间可重跑的历史数据的最早时间。设定后,最早回溯时间之前的实例将无法生成。

空跑设置

当某任务逻辑暂时无需运行,但又不想改动整个数据链路关系时,可将其设置为空跑,此时该任务会直接置为成功。
在DAG整体工作流程中,通过将子节点设置为空跑,可达到临时移除子节点的效果。

重试触发条件

系统提供失败和单次运行超时两种重试触发条件:

  • 失败:任务运行失败,若有剩余重试次数,则自动进行重试。
  • 单次运行超时:任务运行耗时超过设定阈值,若有剩余重试次数,则自动进行重试。
失败重跑次数任务失败后重试的次数。若重试运行时间超过48小时,系统将自动结束该实例。
重跑时间间隔任务失败后重试的时间间隔。
最大并发控制是指单任务最大并发,即任务可同时运行的最大实例个数。实际可执行的实例个数,除受该任务最大并发限制之外,还受系统总并发实例数影响。
数据回溯建议标记该任务是否可进行数据回溯,包括允许回溯和谨慎回溯。若选择谨慎回溯,进行回溯/重跑操作时,系统将出现二次确认提示。

3.3 依赖关系

通过建立任务依赖,完成数据依赖,构建数据血缘。一般情况下,当任务执行成功时,数据表分区数据即已就绪。 通过依赖推荐或手动添加的方式,可以设置任务上游依赖关系。如果该任务依赖自身上一周期的产出,则可使用任务自依赖设置。

3.3.1 任务上游依赖设置

  • 依赖推荐

    LAS SQL、EMR HSQL 任务,根据 SQL 逻辑,支持自动推荐上游依赖关系。

    • 单击依赖推荐按钮:

      • 若需依赖的引用表名,已有对应的产出任务,您可直接在弹窗返回的推荐任务列表中,选择任务需要依赖的任务。

      • LAS SQL 任务,若需依赖的引用表名,未找到对应产出任务,则您需检查 SQL 代码逻辑是否符合要求,并完成手动添加依赖或者单击创建 Sensor 任务按钮,前往创建相应的 Sensor 产出任务,完成依赖关系配置。Sensor 任务指导详见 LAS Hive-Sensor/LAS HDFS-Sensor

      说明

      SQL 逻辑中依赖的表需为分区表,方可展现依赖推荐中 Sensor 任务创建指引。

    • 单击依赖预览按钮,可以查看按照当前的依赖设置,上下游任务最新业务日期的实例依赖关系,方便及时验证偏移设置是否符合预期。

    • 单击依赖设置,设置依赖偏移。在依赖不同调度频率的任务或者调度日期出现偏移时,需要设置偏移量:

      上下游任务频率不同,依赖实现机制也不相同,具体分为三大类:

      上下游频率类型依赖实现机制实际案例偏移设置示例(区间/集合 偏移量 偏移单位)
      同频依赖当前任务实例的业务时间+偏移量*偏移单位=上游任务实例的业务时间。天任务依赖天任务,依赖上游任务同一天运行的实例集合 0 天

      大频率依赖小频率

      当前任务实例的业务时间+偏移量*偏移单位+业务时间补偿值=上游任务实例的业务时间;
      PS:业务时间补偿值 =(同一执行时间,小频率任务实例对应业务时间)-(同一执行时间,大频率任务实例对应业务时间);
      示例:当天依赖小时,业务时间补偿值=23小时。

      天任务依赖小时任务,依赖上游任务昨天运行的24个小时实例

      区间 -23,0 小时

      小频率依赖大频率

      依赖“(当前任务实例的业务时间 - 偏移量*偏移单位)~ 当前任务实例的业务时间 ” 时间范围内,上游任务运行的全部实例;
      PS:上述时间范围左开右闭。

      小时任务依赖天任务,依赖上游最近2天运行的实例

      集合 -1,0 天

      说明

      不同频率的上游任务,对应偏移单位说明:

      • 月任务:偏移单位=月,代表1月;偏移单位=天,代表1天;

      • 周任务:偏移单位=周,代表1周;偏移单位=天,代表1天;

      • 天任务:偏移单位=天,代表1天;

      • 小时任务:偏移单位=小时,代表1小时;

      • 分钟任务:偏移单位=分钟,代表5分钟;(目前分钟级别任务,最小频率为:每5分钟执行一次)。

  • 手动添加

    依赖推荐功能可大大减少在任务依赖配置中的工作量,但依赖推荐存在其局限性。当发现依赖推荐返回的任务,缺少某些当前任务所使用表的数据更新任务时,可使用手动添加,人工调整依赖关系。

    • 单击手动添加按钮,在依赖任务搜索页面,通过任务名称、任务 ID,数据表或 HDFS 路径进行搜索,添加所需依赖的上游任务。

    • 设置依赖偏移,同时平台支持自动填充偏移设置。

    • 单击依赖预览按钮,可以查看按照当前的依赖设置,上下游任务最新业务日期的实例依赖关系,方便及时验证偏移设置是否符合预期。

3.3.2 任务自依赖设置

任务自依赖仅支持跨周期自依赖设置。 若任务需要依赖自己上一周期的数据产出,例如当天任务的执行,依赖当前任务昨天的运行结果,则跨周期自依赖设置为

3.4 输入输出参数

通过任务的输入输出参数,实现参数在上下游节点之间的传递。可支持任务使用自定义参数,该参数可通过自定义方式输入,也可来源于上游任务,也可以来源于项目。

3.4.1 输入参数

任务设置输入参数后,可在任务内部使用,其使用方式与时间参数使用方式不同。时间参数通过${}方式使用,其他输入参数通过{{参数名}}的方式使用。 输入参数具体分为以下三类:

  • 将上游任务的输出参数当作输入

  • 将在项目中设置的参数当作输入

  • 将用户自定义的参数当作输入

3.4.2 输出参数

设置任务的输出参数,输出参数定义完成且任务上线后,即可在下游节点中使用,作为下游节点的输入参数的取值。输出参数的取值分为常量和变量两种类型。

  • 常量取值:常量为固定字符串,需要在任务的输出参数中进行定义。

  • 变量取值:系统支持的全局变量,不需要在输出参数中定义,由系统提供,具体为:

    • {{taskId}}: 任务ID

    • {{taskType}}: 任务类型

    • {{taskName}}: 任务名称

    • {{taskOwner}}: 任务责任人

    • {{instanceId}}: 实例ID

    • {{taskTime}}: 实例对应的业务时间

    • {{scheduleRunTime}}: 实例设定的运行时间

    • {{startTime}}: 实例实际开始运行时间

    • {{endTime}}: 实例实际结束运行时间

    • {{instanceStatus}}: 实例状态

    • {{triggerType}}: 触发类型,包括系统调度、重跑

    • {{trackingUrl}}: 实例执行Tracking URL