に最終更新
JOBS
説明
指定したジョブの種類に関する情報を確認できる一時テーブルを生成するテーブル関数です。
構文
JOBS(
"type"="<type>"
)
パラメータ
| パラメータ | 説明 |
|---|---|
<type> | ジョブの種類:insert:INSERT INTO タイプのジョブ。mv:マテリアライズドビューのジョブ。 |
戻り値
このテーブル関数はゼロ行以上を返します。関数自体は NULL を返しません。対応するメタデータが取得できない場合、個々のフィールドが空欄または NULL になることがあります。
-
jobs("type"="insert")insert タイプのジョブの戻り値パラメータ 説明 Id ジョブ ID Name ジョブ名 Definer ジョブの定義者 ExecuteType 実行タイプ RecurringStrategy 定期実行の方式 Status ジョブのステータス ExecuteSql 実行する SQL CreateTime ジョブの作成時刻 SucceedTaskCount 成功したタスクの数 FailedTaskCount 失敗したタスクの数 CanceledTaskCount キャンセルされたタスクの数 Comment ジョブのコメント Properties ジョブのプロパティ。 ExecuteType = STREAMINGのジョブにのみ値がありますCurrentOffset ジョブが処理を完了したオフセット。 ExecuteType = STREAMINGのジョブにのみ値がありますEndOffset ジョブがデータソースから取得した最大のオフセット。 ExecuteType = STREAMINGのジョブにのみ値がありますLoadStatistic ジョブのロード統計情報 ErrorMsg ジョブ実行時のエラーメッセージ JobRuntimeMsg ジョブの実行時メッセージ LagBytes ソース側のログ(MySQL の binlog や PostgreSQL の WAL など)の未処理量(バイト単位)。 -1は、S3 データソースの場合やスナップショット全体の処理中など、現在値を取得できないことを示します。
4.1.4 以降、この列の名前はLag(秒単位)からLagBytes(バイト単位)に変更されましたLastSourceEventTimestamp ジョブがコミットしたオフセットに記録されている、ソース側の最新イベントのタイムスタンプ(Unix 秒)。空欄の場合は取得できないことを示します。4.1.4 で追加 LastTaskSuccessTime タスクが最後に正常終了した時刻 -
jobs("type"="mv")MV タイプのジョブの戻り値パラメータ 説明 Id ジョブ ID。MV ジョブでは、 tasks("type"="mv").JobIdに対応します。Name ジョブ名。MV ジョブでは、 mv_infos("database"="...").JobNameおよびtasks("type"="mv").JobNameに対応します。MvId このジョブが維持するマテリアライズドビューの ID。 MvName このジョブが維持するマテリアライズドビューの名前。 MvDatabaseId マテリアライズドビューを含むデータベースの ID。 MvDatabaseName マテリアライズドビューを含むデータベースの名前。 ExecuteType ジョブの実行タイプ。MV ジョブで指定される値は MANUALとRECURRINGです。MANUALは、更新タスクが手動操作、コミット、または内部イベントによってトリガーされることを意味します。RECURRINGは、更新タスクが定期的にスケジュールされることを意味します。RecurringStrategy ExecuteTypeから導出されるスケジュールの説明。MANUAL TRIGGERは、ジョブがタイマーで実行されないことを意味します。EVERY ... STARTS ... [ENDS ...]は、ジョブが定期的に実行されることを意味します。Status ジョブのステータス。値は次のとおりです。 PENDING:スケジュール待ち。RUNNING:タスクを生成可能。PAUSED:一時停止中で再開可能。STOPPED:停止済みで再開不可。FINISHED:終了済み。CreateTime ジョブが作成された時刻。
MV ジョブの列挙値フィールド
マテリアライズドビューの更新ジョブを確認する際には、通常、次の列挙値フィールドを使用します。
ExecuteType:ジョブが更新タスクを生成する方法。MANUAL:ジョブ自体のタイマーでは実行されません。手動操作、コミット、またはシステムによって更新がトリガーされた場合にのみ、タスクが作成されます。RECURRING:ジョブはスケジュールに従って実行され、定期的に更新タスクを作成します。
RecurringStrategy:ExecuteTypeから生成される、人が読める形式のスケジュール規則。MANUAL TRIGGER:ジョブは定期的にスケジュールされません。ExecuteTypeがMANUALの場合、通常はこの値になります。EVERY <interval> <unit> STARTS <time> [ENDS <time>]:ジョブは定期的にスケジュールされます。例:EVERY 10 MINUTE STARTS 2025-01-17 14:42:53。
Status:ジョブ自体の現在の状態。PENDING:ジョブはスケジュール待ちです。RUNNING:ジョブは稼働中で、更新タスクを作成できます。PAUSED:ジョブは一時停止中です。再開するまで新しい更新タスクを作成しません。STOPPED:ジョブは停止済みで、再開できません。FINISHED:ジョブは終了しています。長期間稼働する MV 更新ジョブではまれですが、汎用のジョブフレームワークでは表示される場合があります。
マテリアライズドビューでは、一つのマテリアライズドビューに一つの更新ジョブがあり、一つの更新ジョブから多数の更新タスクを作成できます。jobs("type"="mv").Name を使用すると、ジョブを mv_infos("database"="...").JobName および tasks("type"="mv").JobName に関連付けられます。
例
マテリアライズドビューの更新ジョブを表示します。
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は MV 更新ジョブの ID です。JobId(tasks("type"="mv")の列)と同じ値です。Nameは MV 更新ジョブの名前です。JobName(mv_infos("database"="test")およびtasks("type"="mv")の列)と同じ値です。MvIdとMvNameは、このジョブが維持するマテリアライズドビューを示します。MvDatabaseIdとMvDatabaseNameは、マテリアライズドビューを含むデータベースを示します。ExecuteTypeはMANUALなので、このジョブはジョブ自体のタイマーでは実行されません。マテリアライズドビューが手動で更新された場合、コミット時に更新された場合、またはシステムによってトリガーされた場合に、更新タスクが作成されます。RecurringStrategyはMANUAL TRIGGERで、ExecuteType = MANUALと一致します。スケジュールされたマテリアライズドビューでは、このフィールドはEVERY ... STARTS ...と表示されます。StatusはRUNNINGなので、ジョブは更新タスクを生成できます。PAUSEDの場合は、新しいタスクが作成される前にマテリアライズドビューのジョブを再開してください。CreateTimeは、この MV 更新ジョブが作成された時刻です。
このジョブから生成されたタスクを表示するには、ジョブ名を使用します。
select TaskId, JobName, MvName, Status, CreateTime, FinishTime
from tasks("type"="mv")
where JobName = "inner_mtmv_19494"
order by CreateTime desc;
+-----------------+------------------+--------+---------+---------------------+---------------------+
| TaskId | JobName | MvName | Status | CreateTime | FinishTime |
+-----------------+------------------+--------+---------+---------------------+---------------------+
| 437156301250803 | inner_mtmv_19494 | mv1 | SUCCESS | 2025-01-07 22:13:48 | 2025-01-07 22:17:45 |
+-----------------+------------------+--------+---------+---------------------+---------------------+
すべての insert ジョブを表示します。
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 | |
+----------------+----------------+---------+-------------+--------------------------------------------+---------+--------------------------------------------------------------+---------------------+------------------+-----------------+-------------------+---------+