メインコンテンツまでスキップ

SUBMIT TASK

タスクの送信

説明

非同期タスクとしてETLステートメントを送信します。この機能は、StarRocks v2.5以降でサポートされています。

StarRocks v3.0では、CREATE TABLE AS SELECTINSERTの非同期タスクの送信がサポートされています。

DROP TASKを使用して非同期タスクを削除できます。

構文

SUBMIT TASK [task_name] AS <etl_statement>

パラメータ

パラメータ

説明

task_name

タスク名。

etl_statement

非同期タスクとして送信するETLステートメント。StarRocksは現在、 CREATE TABLE AS SELECTINSERT の非同期タスクの送信をサポートしています。

使用上の注意

このステートメントはタスクを作成し、ETLステートメントを実行するためのテンプレートであるタスクを作成します。タスクの情報は、Information Schemaのメタデータテーブルtasksをクエリすることで確認できます。

SELECT * FROM INFORMATION_SCHEMA.tasks;
SELECT * FROM information_schema.tasks WHERE task_name = '<task_name>';

タスクを実行した後、対応するタスクランが生成されます。タスクランは、ETLステートメントを実行するタスクを示します。タスクランには次のステートがあります。

  • PENDING: タスクは実行待ちです。
  • RUNNING: タスクが実行中です。
  • FAILED: タスクが失敗しました。
  • SUCCESS: タスクが正常に実行されました。

タスクランの状態は、Information Schemaのメタデータテーブルtask_runsをクエリすることで確認できます。

SELECT * FROM INFORMATION_SCHEMA.task_runs;
SELECT * FROM information_schema.task_runs WHERE task_name = '<task_name>';

FE構成アイテムを使用して設定する

次のFE構成アイテムを使用して非同期ETLタスクを設定することができます。

パラメータ

デフォルト値

説明

task_ttl_second

259200

タスクの有効期間。単位:秒。有効期間を超えるタスクは削除されます。

task_check_interval_second

14400

無効なタスクを削除するための時間間隔。単位:秒。

task_runs_ttl_second

259200

タスクランの有効期間。単位:秒。有効期間を超えるタスクランは自動的に削除されます。また、FAILEDおよびSUCCESSのステートのタスクランも自動的に削除されます。

task_runs_concurrency

20

並行して実行できる最大のタスクラン数。

task_runs_queue_length

500

実行待ちのタスクラン数の最大値。デフォルト値を超える場合、新しいタスクは停止されます。

例1:CREATE TABLE tbl1 AS SELECT * FROM src_tblの非同期タスクをetl0という名前で送信する場合:

SUBMIT TASK etl0 AS CREATE TABLE tbl1 AS SELECT * FROM src_tbl;

例2:INSERT INTO tbl2 SELECT * FROM src_tblの非同期タスクをetl1という名前で送信する場合:

SUBMIT TASK etl1 AS INSERT INTO tbl2 SELECT * FROM src_tbl;

例3:INSERT OVERWRITE tbl3 SELECT * FROM src_tblの非同期タスクを送信する場合:

SUBMIT TASK AS INSERT OVERWRITE tbl3 SELECT * FROM src_tbl;

例4:タスク名を指定せずにINSERT OVERWRITE insert_wiki_edit SELECT * FROM source_wiki_editの非同期タスクを送信し、ヒントを使用してクエリのタイムアウトを100000秒に延長する場合:

SUBMIT /*+set_var(query_timeout=100000)*/ TASK AS
INSERT OVERWRITE insert_wiki_edit
SELECT * FROM source_wiki_edit;