云原生数据仓库AnalyticDB MySQL版湖仓版(3.0)的作业调度提供离线SQL应用、Spark应用的复杂任务流功能,具备灵活的ETL数据处理、数据开发等能力。
使用流程
前提条件
如果通过阿里云账号(主账号)登录,使用作业调度功能需要满足以下两个条件:
如果通过RAM用户(子账号)登录,使用作业调度功能需要满足以下三个条件:
已配置AnalyticDB MySQL的AliyunServiceRoleForAnalyticDBForMySQL角色。配置方法,请参见AliyunServiceRoleForAnalyticDBForMySQL介绍。
已创建AnalyticDB MySQL普通账号并绑定了RAM用户。绑定方法,请参见绑定或解绑RAM用户与数据库账号。
已创建Job型资源组,且计算预留资源至少8 ACU。详情请参见新建资源组。
项目空间管理
项目空间是工作流的集合,方便用户在项目空间中统一管理一类工作流。只有阿里云账号(主账号)和被授权的RAM用户(子账号)才可以使用项目空间。各角色拥有的权限如下表。
角色 | 权限策略 | 权限说明 |
管理员 | AliyunADBFullAccess | 拥有项目的所有权限。 |
开发者 | AliyunADBDeveloperAccess | 拥有项目的编辑权限,可以编辑工作流、定时任务、工作流节点等。 |
访客 | AliyunADBReadOnlyAccess | 拥有项目的只读权限,可以查看工作流、定时任务等业务流程设计和代码内容。 |
项目空间管理支持创建新的项目空间,对已有的项目空间进行编辑、成员管理及删除。
创建项目空间
- 登录云原生数据仓库AnalyticDB MySQL控制台。
- 在页面左上角,选择集群所在地域。
- 在左侧导航栏,单击集群列表。
- 在湖仓版(3.0)页签下,单击目标集群ID。
在左侧导航栏,单击作业调度。
在项目空间管理页签,单击创建项目空间。
输入项目空间名称,并单击确定。
成员管理
在目标项目空间的操作列,单击。
单击添加成员。
在成员列表中选择未授权账号并单击。
说明未授权账号指阿里云账号下所有未添加到成员管理中的RAM用户。
单击确定。
工作流编排
创建工作流
在右上角单击 。
单击创建工作流。
说明目前支持创建SQL任务节点、Spark任务节点。
在新建工作流页面,拖拽列表中的节点到画布中,并配置节点参数。
SQL任务节点参数配置说明。
参数
配置说明
节点名称
SQL任务节点的名称。
资源组
选择执行任务的资源组。您可以选择Interactive型资源组或Job型资源组。资源组详情,请参见资源组介绍。
Schema
选择Schema。
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模板。失败重试
定义当前SQL语句执行失败后的最大重试次数及两次重试之间的时间间隔。
说明假设设置的失败重试次数为3,当重试第一次就成功了,那么剩余两次不会继续。
描述
对Spark任务节点进行简单描述。
单击确定添加。
单击画布右上角,填写工作流名称、选择目录、设置全局参数和告警服务。
参数
说明
工作流名称
填写工作流的名称。
描述
填写工作流描述。例如,查询test表的数据。
设置全局参数
提供给工作流节点的编排变量使用。例如SQL语句为
select * from ${table};
,全局变量${table}的值是test,使用全局参数替换后的SQL语句为select * from test;
。
工作流上线
完成工作流创建后,单击上线按钮,将当前的工作流部署到线上。
执行工作流
用户可以通过以下两种方式执行工作流:
立即执行:立即执行当前编排的工作流。启动参数配置如下。
参数
说明
失败策略
继续:出现失败任务时,继续执行其他并行任务,直至流程结束。
结束:出现失败任务时,终止所有正在执行的任务,并终止整个流程。
说明失败策略仅针对并行任务场景。在串行任务场景中,一旦有任务失败,剩余串行任务不再执行。
是否补数
开启是否补数时,执行指定日期的工作流,在选择的调度时间范围内,每天的0点补数一次,执行方式支持并行和串行。
串行补数:指定时间范围内,按日期依次执行补数,最终只生成一条流程实例。
并行补数:指定时间范围内,多天同时进行补数,最终生成N条流程实例。
设置启动参数
提供给工作流节点的编排变量使用。如果创建工作流时已设置全局参数,则将全局参数填充到启动参数中。全局参数是启动参数的子集。
是否重跑
开启重跑将自动重新执行因失败而终止的流程。
说明用户也可以在工作流实例页面手动重跑失败终止的流程。
定时:设置定时参数,使工作流在一定的时间范围内重复执行。定时参数配置如下。
参数
说明
定时状态
设置工作流定时上线或定时下线。
起止时间
定时任务将在起止时间范围内的定时时间启动执行。
定时
设置定时任务的执行时间,包括分、时、天、月、周。定时时间选择完成后,单击执行时间,可以查看接下来五次执行时间。
失败策略
继续:出现失败任务时,继续执行其他并行任务,直至流程结束。
结束:出现失败任务时,终止所有正在执行的任务,并终止整个流程。
说明失败策略仅针对并行任务场景。在串行任务场景中,一旦有任务失败,剩余串行任务不再执行。
查看工作流状态
执行工作流后,用户可以在工作流实例页面和任务实例页面查看工作流和任务的执行状态、暂停或终止工作流。如果执行失败,还可以对工作流进行重跑、恢复失败。
查看工作流实例状态
工作流上线并执行后,会生成一个工作流实例。支持的操作如下:
操作 | 说明 |
重跑 | 重新执行工作流。 |
恢复失败 | 从工作流的失败节点继续执行,之前执行成功的节点不再重复执行。 |
终止 | 终止正在运行的工作流,用户可以通过重跑再次执行工作流。 |
暂停 | 暂停正在运行的工作流,用户可以通过重跑再次执行工作流。 |
删除 | 删除工作流实例。 |
查看任务实例状态
用户可以查看工作流实例中各个任务节点的运行状态和日志。
如果是SQL任务,则可以查看该任务执行时的系统运行调度日志。
如果是Spark任务,则可以查看该任务用户自行打印的日志,以及系统运行调度日志。
监控工作流
监控单个项目空间中所有工作流和任务节点的状态。
提交成功:用户提交成功的调度作业数,作业提交成功后会等待调度系统执行。
准备暂停:当前待暂停的作业数,用户对指定作业触发暂停操作后,将等待调度系统执行暂停。
准备停止:当前待停止的作业数,用户对指定作业触发终止操作后,将等待调度系统执行停止。