云原生数据仓库AnalyticDB MySQL版湖仓版(3.0)的作业调度提供离线SQL应用、Spark应用的复杂任务流功能,具备灵活的ETL数据处理、数据开发等能力。

使用流程

工作流

前提条件

  • 如果通过阿里云账号(主账号)登录,使用作业调度功能需要满足以下两个条件:
  • 如果通过RAM用户(子账号)登录,使用作业调度功能需要满足以下三个条件:

项目空间管理

项目空间是工作流的集合,方便用户在项目空间中统一管理一类工作流。只有阿里云账号(主账号)和被授权的RAM用户(子账号)才可以使用项目空间。各角色拥有的权限如下表。
角色权限策略权限说明
管理员AliyunADBFullAccess拥有项目的所有权限。
开发者AliyunADBDeveloperAccess拥有项目的编辑权限,可以编辑工作流、定时任务、工作流节点等。
访客AliyunADBReadOnlyAccess拥有项目的只读权限,可以查看工作流、定时任务等业务流程设计和代码内容。

项目空间管理支持创建新的项目空间,对已有的项目空间进行编辑、成员管理及删除。

创建项目空间

  1. 登录云原生数据仓库AnalyticDB MySQL控制台
  2. 在页面左上角,选择集群所在地域。
  3. 在左侧导航栏,单击集群列表
  4. 湖仓版(3.0)页签下,单击目标集群ID
  5. 在左侧导航栏,单击作业调度
  6. 项目空间管理页签,单击创建项目空间
  7. 输入项目空间名称,并单击确定

成员管理

  1. 在目标项目空间的操作列,单击成员管理
  2. 单击添加成员
  3. 成员列表中选择未授权账号并单击2
    说明 未授权账号指阿里云账号下所有未添加到成员管理中的RAM用户。
  4. 单击确定

工作流编排

创建工作流

  1. 在右上角单击工作流管理 > 工作流编排
  2. 单击创建工作流
    说明 目前支持创建SQL任务节点、Spark任务节点。
  3. 新建工作流页面,拖拽列表中的节点到画布中,并配置节点参数。
    SQL任务节点参数配置说明。
    参数配置说明
    节点名称SQL任务节点的名称。
    Schema选择Schema。
    SQL语句支持输入SQL,也支持选择已有的SQL语句。

    已有的SQL语句是在作业开发 > SQL开发中保存的SQL模板。

    自定义参数自定义业务参数,作为变量替换到SQL语句中。例如SQL语句为select * from ${table};,可设置自定义参数的prop为customer,value为${table},那么执行的SQL等同于select * from customer;
    前置SQL只能输入DML语句,如INSERT、UPDATE、DELETE。在前置SQL语句执行的结果上,执行当前工作流的SQL语句。
    后置SQL只能输入DDL语句,如CREATE、DROP。当前工作流的SQL语句执行完成后,再执行后置SQL。
    失败重试定义当前SQL语句执行失败后的最大重试次数及两次重试之间的时间间隔。
    说明 假设设置的失败重试次数为3,当重试第一次就成功了,那么剩余两次不会继续。
    描述对SQL任务节点进行简单描述。
    Spark任务节点参数配置说明。
    参数配置说明
    节点名称Spark任务节点的名称。
    资源组由于Spark任务的资源消耗较大,只能选择Job型资源组。

    如果列表为空,则需要先创建Job型资源组,详情请参见新建资源组

    类型
    • Batch:离线应用。
    • Streaming:流应用。
    • SQL:Spark SQL应用。
    Spark语句支持默认的任务参数模板,也支持选择已有Spark模板。

    已有的Spark模板是在作业开发 > Spark Jar 开发中保存的Spark模板。

    失败重试定义当前SQL语句执行失败后的最大重试次数及两次重试之间的时间间隔。
    说明 假设设置的失败重试次数为3,当重试第一次就成功了,那么剩余两次不会继续。
    描述对Spark任务节点进行简单描述。
  4. 单击确定添加
  5. 单击画布右上角3,填写工作流名称、选择目录、设置全局参数和告警服务。
    参数说明
    选择目录用户可以选择根节点(根目录),也可以选择新建的目录。
    设置全局参数提供给工作流节点的编排变量使用。例如SQL语句为select * from ${table};,全局变量${table}的值是test,使用全局参数替换后的SQL语句为select * from test;
    告警服务开启告警服务,发送所有工作流执行状态的告警信息,打开之后不能关闭。
    发送告警信息,除了需要开启告警服务外,还需要完成以下两项操作:
    • 执行工作流时,配置通知策略为“成功或失败都发送”、“只失败发送”或“只成功发送”。
    • 配置云监控报警规则,请参见创建报警规则

工作流上线

完成工作流创建后,单击上线按钮上线,将当前的工作流部署到线上。

执行工作流

用户可以通过以下两种方式执行工作流:
  • 立即执行:立即执行当前编排的工作流。启动参数配置如下。
    参数说明
    失败策略
    • 继续:出现失败任务时,继续执行其他并行任务,直至流程结束。
    • 结束:出现失败任务时,终止所有正在执行的任务,并终止整个流程。
    说明 失败策略仅针对并行任务场景。在串行任务场景中,一旦有任务失败,剩余串行任务不再执行。
    是否补数开启是否补数时,执行指定日期的工作流,在选择的调度时间范围内,每天的0点补数一次,执行方式支持并行和串行。
    • 串行补数:指定时间范围内,按日期依次执行补数,最终只生成一条流程实例。
    • 并行补数:指定时间范围内,多天同时进行补数,最终生成N条流程实例。
    通知策略设置当前工作流执行状态的通知策略,且通知策略只对当次执行生效,例如,工作流执行两次,第一次执行时通知策略选择 “只发送成功” 则运行成功后才发消息;第二次执行时通知策略选择 “都不发” 则运行成功或失败都不发消息。
    发送通知,除了需要配置通知策略外,还需要完成以下两项操作:
    • 保存工作流时,已开启告警服务。
    • 配置云监控报警规则,请参见创建报警规则
    设置启动参数提供给工作流节点的编排变量使用。如果创建工作流时已设置全局参数,则将全局参数填充到启动参数中。全局参数是启动参数的子集。
    是否重跑开启重跑将自动重新执行因失败而终止的流程。
    说明 用户也可以在工作流实例页面手动重跑失败终止的流程。
  • 定时:设置定时参数,使工作流在一定的时间范围内重复执行。定时参数配置如下。
    参数说明
    定时状态设置工作流定时上线或定时下线。
    起止时间定时任务将在起止时间范围内的定时时间启动执行。
    定时设置定时任务的执行时间,包括分、时、天、月、周。定时时间选择完成后,单击执行时间,可以查看接下来五次执行时间
    失败策略
    • 继续:出现失败任务时,继续执行其他并行任务,直至流程结束。
    • 结束:出现失败任务时,终止所有正在执行的任务,并终止整个流程。
    说明 失败策略仅针对并行任务场景。在串行任务场景中,一旦有任务失败,剩余串行任务不再执行。

查看工作流状态

执行工作流后,用户可以在工作流实例页面和任务实例页面查看工作流和任务的执行状态、暂停或终止工作流。如果执行失败,还可以对工作流进行重跑、恢复失败。

查看工作流实例状态

工作流上线并执行后,会生成一个工作流实例。支持的操作如下:
操作说明
重跑重新执行工作流。
恢复失败从工作流的失败节点继续执行,之前执行成功的节点不再重复执行。
终止终止正在运行的工作流,用户可以通过重跑再次执行工作流。
暂停暂停正在运行的工作流,用户可以通过重跑再次执行工作流。
删除删除工作流实例。

查看任务实例状态

用户可以查看工作流实例中各个任务节点的运行状态和日志。
  • 如果是SQL任务,则可以查看该任务执行时的系统运行调度日志。
  • 如果是Spark任务,则可以查看该任务用户自行打印的日志,以及系统运行调度日志。

监控工作流

监控单个项目空间中所有工作流和任务节点的状态。
  • 提交成功:用户提交成功的调度作业数,作业提交成功后会等待调度系统执行。
  • 准备暂停:当前待暂停的作业数,用户对指定作业触发暂停操作后,将等待调度系统执行暂停。
  • 准备停止:当前待停止的作业数,用户对指定作业触发终止操作后,将等待调度系统执行停止。