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 ジョブのタイプ。QUERYLOADEXTRACTCOPY、または null のいずれかです。ジョブタイプ null は、スクリプト ジョブ ステートメントの評価やマテリアライズド ビューの更新などの内部ジョブを示します。
statement_type STRING クエリ ステートメントのタイプ(有効な場合)。例: SELECTINSERTUPDATE、または DELETE
job_creation_time TIMESTAMP (パーティショニング列)このジョブの作成時間。パーティショニングは、このタイムスタンプの UTC 時間に基づきます。
job_start_time TIMESTAMP このジョブの開始時間。
job_end_time TIMESTAMP このジョブの終了時間。
state STRING この期間の終了時点におけるジョブの実行状態。有効な状態には PENDINGRUNNINGDONE があります。
reservation_id STRING この期間の終了時点でこのジョブに割り当てられているメイン予約の名前(該当する場合)。
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                        |
+---------------------------+---------------------------------+