SUBMIT TASK
功能
为 ETL 语句创建异步任务。
您可将该语句用于以下场景:
- 创建长时间运行的后台任务(从 v2.5 开始支持)
- 创建定期执行的任务(从 v3.3 开始支持)
支持的语句包括:
- CREATE TABLE AS SELECT(从 v3.0 开始支持)
- INSERT(从 v3.0 开始支持)
- CACHE SELECT(从 v3.3 开始支持)
您可以通过查询 INFORMATION_SCHEMA.tasks 查看任务列表,或通过查询 INFORMATION_SCHEMA.task_runs 查看任务的执行历史。有关更多信息,请参阅使用说明。
您可以使用 DROP TASK 删除异步任务。
语法
SUBMIT TASK <task_name>
[SCHEDULE [START(<schedule_start>)] EVERY(INTERVAL <schedule_interval>) ]
[PROPERTIES(<"key" = "value"[, ...]>)]
AS <etl_statement>
PROPERTIES
您可以通过添加 session. 前缀的会话变量来更改任 务运行时的连接上下文配置。
例如,以下语句提交了一个名为 test_task 的任务,并启用了查询分析和增加了查询超时时间:
SUBMIT TASK test_task
PROPERTIES (
"session.enable_profile" = "true",
"session.insert_timeout" = "10000"
)
AS insert into t2 select * from t1;
参数说明
| 参数 | 是否必须 | 描述 |
|---|---|---|
| task_name | 是 | 任务名称。 |
| schedule_start | 否 | 定时任务的开始时间。 |
| schedule_interval | 否 | 定时任务的执行间隔,最小间隔为 10 秒。 |
| etl_statement | 是 | 需要创建异步任务的 ETL 语句。StarRocks 当前支持为 CREATE TABLE AS SELECT 和 INSERT |
使用说明
该语句会创建一个 Task,表示一个 ETL 语句执行任务的存储模板。您可以通过查询 Information Schema 中的元数据视图 tasks 来查看 Task 信息:
SELECT * FROM INFORMATION_SCHEMA.tasks;
SELECT * FROM information_schema.tasks WHERE task_name = '<task_name>';
执行 Task 后会对应生成一个 TaskRun,表示一个 ETL 语句执行任务。TaskRun 有以下状态:
PENDING:任务等待执行。RUNNING:任务正在执行。FAILED:任务执行失败。SUCCESS:任务执行成功。
您可以通过查询 Information Schema 中的元数据视图 task_runs 来查看 TaskRun 状态:
SELECT * FROM INFORMATION_SCHEMA.task_runs;
SELECT * FROM information_schema.task_runs WHERE task_name = '<task_name>';