JOBS
描述
表函数,生成任务临时表,可以查看某个任务类型中的 job 信息。
语法
JOBS(
"type"="<type>"
)
必填参数 (Required Parameters)
| 字段名 | 描述 |
|---|---|
<type> | 任务的类型:insert:insert into 类型的任务。 mv:物化视图类型的任务。 |
返回值
-
jobs("type"="insert")insert 类型的 job 返回值字段名 描述 Id job id Name job 名称 Definer job 定义者 ExecuteType 执行类型 RecurringStrategy 循环策略 Status job 状态 ExecuteSql 执行 SQL CreateTime job 创建时间 SucceedTaskCount 成功任务数量 FailedTaskCount 失败任务数量 CanceledTaskCount 取消任务数量 Comment job 注释 -
jobs("type"="mv")MV 类型的 job 返回值字段名 描述 Id job ID。对于 MV job,该字段对应 tasks("type"="mv").JobId。Name job 名称。对于 MV job,该字段对应 mv_infos("database"="...").JobName和tasks("type"="mv").JobName。MvId 该 job 维护的物化视图 ID。 MvName 该 job 维护的物化视图名称。 MvDatabaseId 物化视图所属数据库 ID。 MvDatabaseName 物化视图所属数据库名称。 ExecuteType job 执行类型。MV job 可取值为 MANUAL和RECURRING。MANUAL表示刷新 task 由手动刷新、提交触发或系统内部事件触发;RECURRING表示按周期调度刷新。RecurringStrategy 根据 ExecuteType生成的调度描述。MANUAL TRIGGER表示该 job 不按定时器自动运行;EVERY ... STARTS ... [ENDS ...]表示周期调度。Status job 状态。可取值: PENDING表示等待调度;RUNNING表示 job 可生成 task;PAUSED表示 job 已暂停且可恢复;STOPPED表示 job 已停止且不可恢复;FINISHED表示 job 已结束。CreateTime job 创建时间。
MV job 枚举字段说明
查看物化视图刷新 job 时,下面这些枚举字段最常用:
ExecuteType:job 创建刷新 task 的方式。MANUAL:job 不按自己的定时器运行。只有手动刷新、提交触发刷新或系统触发刷新时,才会创建 task。RECURRING:job 按调度周期运行,会周期性创建刷新 task。
RecurringStrategy:根据ExecuteType生成的可读调度规则。MANUAL TRIGGER:job 不按周期调度。ExecuteType为MANUAL时通常显示这个值。EVERY <interval> <unit> STARTS <time> [ENDS <time>]:job 按周期调度。例如EVERY 10 MINUTE STARTS 2025-01-17 14:42:53。
Status:job 自身当前状态。PENDING:job 正在等待调度。RUNNING:job 处于运行状态,可以创建刷新 task。PAUSED:job 已暂停。恢复前不会创建新的刷新 task。STOPPED:job 已停止,不能恢复。FINISHED:job 已结束。对于长期存在的物化视图刷新 job 不常见,但通用 job 框架中可能出现。
对于物化视图,一个物化视图对应一个刷新 job,一个刷新 job 可以创建多个刷新 task。可以用 jobs("type"="mv").Name 关联 mv_infos("database"="...").JobName 和 tasks("type"="mv").JobName。
示例
查看某个物化视图的刷新 job。
select *
from jobs("type"="mv")
where MvDatabaseName = "test" and MvName = "mv1"\G
*************************** 1. row ***************************
Id: 19508
Name: inner_mtmv_19494
MvId: 19494
MvName: mv1
MvDatabaseId: 16016
MvDatabaseName: test
ExecuteType: MANUAL
RecurringStrategy: MANUAL TRIGGER
Status: RUNNING
CreateTime: 2025-01-07 22:13:31
该结果中:
Id是物化视图刷新 job ID,与tasks("type"="mv")中的JobId相同。Name是物化视图刷新 job 名称,与mv_infos("database"="test")和tasks("type"="mv")中的JobName相同。MvId和MvName标识该 job 维护的物化视图。MvDatabaseId和MvDatabaseName标识物化视图所属数据库。ExecuteType为MANUAL,表示该 job 不按自身定时器运行。当物化视图被手动刷新、提交触发刷新或系统触发刷新时,才会生成刷新 task。RecurringStrategy为MANUAL TRIGGER,与ExecuteType = MANUAL对应。如果是定时刷新的物化视图,该字段会显示为EVERY ... STARTS ...。Status为RUNNING,表示该 job 可以生成刷新 task。如果为PAUSED,需要先恢复物化视图 job,才会继续产生新 task。CreateTime表示该物化视图刷新 job 的创建时间。
查看该 job 生成的刷新 task:
select *
from tasks("type"="mv")
where JobName = "inner_mtmv_19494"
order by CreateTime desc;
查看所有 insert 任务的 job
select * from jobs("type"="insert");
+----------------+----------------+---------+-------------+--------------------------------------------+---------+--------------------------------------------------------------+---------------------+------------------+-----------------+-------------------+---------+
| Id | Name | Definer | ExecuteType | RecurringStrategy | Status | ExecuteSql | CreateTime | SucceedTaskCount | FailedTaskCount | CanceledTaskCount | Comment |
+----------------+----------------+---------+-------------+--------------------------------------------+---------+--------------------------------------------------------------+---------------------+------------------+-----------------+-------------------+---------+
| 78533940810334 | insert_tab_job | root | RECURRING | EVERY 10 MINUTE STARTS 2025-01-17 14:42:53 | RUNNING | INSERT INTO test.insert_tab SELECT * FROM test.example_table | 2025-01-17 14:32:53 | 0 | 0 | 0 | |
+----------------+----------------+---------+-------------+--------------------------------------------+---------+--------------------------------------------------------------+---------------------+------------------+-----------------+-------------------+---------+