JOBS_TIMELINE_BY_USER ビュー
INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER
ビューには、現在のプロジェクトで現在のユーザーが送信したジョブのタイムスライスごとの準リアルタイムの BigQuery メタデータが含まれます。このビューには、現在実行中のジョブと完了したジョブが表示されます。
必要な権限
INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER
ビューをクエリするには、プロジェクトの bigquery.jobs.list
Identity and Access Management(IAM)権限が必要です。次に示す各 IAM の事前定義ロールには、必要な権限が含まれています。
- プロジェクト閲覧者
- BigQuery ユーザー
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*
ビューに対してクエリを実行すると、クエリ結果にすべての BigQuery ジョブについて 1 秒ごとの実行結果を示す行が 1 行ずつ表示されます。各期間は整数秒の時点で開始し、厳密に 1 秒間継続します。
INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
period_start |
TIMESTAMP |
この期間の開始時間。 |
period_slot_ms |
INTEGER |
この期間に使用したスロットのミリ秒数。 |
period_shuffle_ram_usage_ratio |
FLOAT |
選択した期間のシャッフル使用率。 |
project_id |
STRING |
(クラスタリング列)プロジェクトの ID。 |
project_number |
INTEGER |
プロジェクトの番号。 |
user_email |
STRING |
(クラスタリング列)ジョブを実行したユーザーのメールアドレスまたはサービス アカウント。 |
job_id |
STRING |
ジョブの ID。例: bquxjob_1234 |
job_type |
STRING |
ジョブのタイプ。QUERY 、LOAD 、EXTRACT 、COPY 、または null のいずれかです。ジョブタイプ null は、スクリプト ジョブ ステートメントの評価やマテリアライズド ビューの更新などの内部ジョブを示します。 |
statement_type |
STRING |
クエリ ステートメントのタイプ(有効な場合)。例: SELECT 、INSERT 、UPDATE 、または DELETE 。 |
job_creation_time |
TIMESTAMP |
(パーティショニング列)このジョブの作成時間。パーティショニングは、このタイムスタンプの UTC 時間に基づきます。 |
job_start_time |
TIMESTAMP |
このジョブの開始時間。 |
job_end_time |
TIMESTAMP |
このジョブの終了時間。 |
state |
STRING |
この期間の終了時点におけるジョブの実行状態。有効な状態には PENDING 、RUNNING 、DONE があります。 |
reservation_id |
STRING |
この期間の終了時点でこのジョブに割り当てられているメイン予約の名前(該当する場合)。 |
edition |
STRING |
このジョブに割り当てられた予約に関連付けられているエディション。エディションの詳細については、BigQuery エディションの概要をご覧ください。 |
total_bytes_processed |
INTEGER |
ジョブによって処理された合計バイト数。 |
error_result |
RECORD |
ErrorProto.
としてのエラー(ある場合)の詳細。 |
cache_hit |
BOOLEAN |
このジョブのクエリ結果がキャッシュから取得されたかどうか。 |
period_estimated_runnable_units |
INTEGER |
この期間にすぐにスケジュール設定できる作業単位。予約内の他のクエリで追加のスロットが必要ない場合は、これらの作業単位でスロットを追加することでクエリが高速化されます。 |
データの保持
このビューには、現在実行中のジョブと過去 180 日間のジョブの履歴が含まれます。
スコープと構文
このビューに対するクエリでは、リージョン修飾子を指定する必要があります。リージョン修飾子を指定しない場合、メタデータはすべてのリージョンで取得されます。次の表に、このビューのリージョン スコープとリソース スコープを示します。
ビュー名 | リソース スコープ | リージョン スコープ |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER |
指定したプロジェクトの現在のユーザーによって送信されたジョブ。 | REGION |
- 省略可:
PROJECT_ID
: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
REGION
: 任意のデータセット リージョン名。
例: region-us
。
例
次のクエリは、指定したプロジェクトで現在のユーザーが送信したジョブによって消費される 1 秒あたりのスロットの合計ミリ秒数を表示します。
SELECT period_start, SUM(period_slot_ms) AS total_period_slot_ms FROM `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER GROUP BY period_start ORDER BY period_start DESC;
次のような結果になります。
+---------------------------+---------------------------------+ | period_start | total_period_slot_ms | +---------------------------+---------------------------------+ | 2019-10-10 00:00:04 UTC | 118639 | | 2019-10-10 00:00:03 UTC | 251353 | | 2019-10-10 00:00:02 UTC | 1074064 | | 2019-10-10 00:00:01 UTC | 1124868 | | 2019-10-10 00:00:00 UTC | 1113961 | +---------------------------+---------------------------------+