JOBS_BY_ORGANIZATION ビュー

INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION ビューは、現在のプロジェクトに関連付けられている組織で送信されたすべてのジョブに関するニア リアルタイムのメタデータを含みます。

必要なロール

INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION ビューをクエリするために必要な権限を取得するには、組織に対する BigQuery リソース閲覧者roles/bigquery.resourceViewer)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION ビューに対するクエリの実行に必要な bigquery.jobs.listAll 権限が含まれています。

カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。

スキーマ テーブルは、 Google Cloud組織が定義されているユーザーのみが使用できます。

BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。

スキーマ

基になるデータは creation_time 列で分割され、project_iduser_email でクラスタ化されます。query_info 列には、クエリジョブに関する追加情報が含まれます。

INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION ビューのスキーマは次のとおりです。

列名 データの種類
bi_engine_statistics RECORD プロジェクトが BI Engine を使用するように設定されている場合、このフィールドには BiEngineStatistics が入ります。それ以外の場合は NULL になります。
cache_hit BOOLEAN このジョブのクエリ結果がキャッシュから取得されたかどうか。マルチクエリ ステートメント ジョブがある場合、親クエリの cache_hitNULL です。
creation_time TIMESTAMP (パーティショニング列)このジョブの作成時間。パーティショニングは、このタイムスタンプの UTC 時間に基づきます。
destination_table RECORD 結果の宛先テーブル(ある場合)。
end_time TIMESTAMP このジョブの終了時間(エポックからのミリ秒)。このフィールドは、ジョブが DONE 状態になった時刻を表します。
error_result RECORD ErrorProto オブジェクトとしてのエラーの詳細。
folder_numbers REPEATED INTEGER プロジェクトを含むフォルダの番号 ID。プロジェクトを直接含むフォルダから始まり、子フォルダを含むフォルダというように続きます。たとえば、folder_numbers[1, 2, 3] の場合、フォルダ 1 にはプロジェクトが直接含まれ、フォルダ 2 には 1 が含まれ、フォルダ 3 には 2 が含まれます。この列は、JOBS_BY_FOLDER にのみ入力されます。
job_creation_reason.code STRING ジョブが作成された大まかな理由を指定します。
指定できる値は次のとおりです。
  • REQUESTED: ジョブの作成がリクエストされました。
  • LONG_RUNNING: QueryRequest の timeoutMs フィールドで指定されたシステム定義のタイムアウトを超えてクエリ リクエストが実行されました。その結果、ジョブが作成された長時間実行オペレーションと見なされました。
  • LARGE_RESULTS: クエリの結果がインライン レスポンスに収まりません。
  • OTHER: クエリをジョブとして実行する必要があることがシステムによって判断されました。
job_id STRING ジョブが作成された場合のジョブの ID。ジョブを作成していない場合は、オプション ジョブ作成モードを使用したクエリのクエリ ID。例: bquxjob_1234
job_stages RECORD ジョブのクエリステージ

: 行レベルのアクセス ポリシーが適用されたテーブルから読み取るクエリでは、この列の値が空になります。詳細については、BigQuery での行レベルのセキュリティに関するベスト プラクティスをご覧ください。

job_type STRING ジョブのタイプ。QUERYLOADEXTRACTCOPY、または NULL のいずれかです。NULL 値はバックグラウンド ジョブを示します。
labels RECORD Key-Value ペアとしてジョブに適用されるラベルの配列。
parent_job_id STRING 親ジョブの ID(存在する場合)。
priority STRING このジョブの優先度。有効な値として、INTERACTIVEBATCH があります。
project_id STRING (クラスタリング列)プロジェクトの ID。
project_number INTEGER プロジェクトの数。
referenced_tables RECORD ジョブによって参照されるテーブルの配列。キャッシュヒットではないクエリジョブに対してのみデータが入力されます。
reservation_id STRING このジョブに割り当てられたプライマリ予約の名前(形式: RESERVATION_ADMIN_PROJECT:RESERVATION_LOCATION.RESERVATION_NAME)。
この出力で:
  • RESERVATION_ADMIN_PROJECT: 予約を管理する Google Cloud プロジェクトの名前
  • RESERVATION_LOCATION: 予約のロケーション
  • RESERVATION_NAME: 予約の名前
edition STRING このジョブに割り当てられた予約に関連付けられているエディション。エディションの詳細については、BigQuery エディションの概要をご覧ください。
session_info RECORD ジョブが実行されているセッションの詳細(存在する場合)。
start_time TIMESTAMP このジョブの開始時間(エポックからのミリ秒)。このフィールドは、ジョブが PENDING 状態から RUNNING 状態または DONE 状態へ移行した時間を表します。
state STRING ジョブの実行状態。有効な状態は PENDINGRUNNINGDONE です。
statement_type STRING クエリ ステートメントのタイプ。たとえば、DELETEINSERTSCRIPTSELECTUPDATE です。有効な値の一覧については QueryStatementType をご覧ください。
timeline RECORD ジョブのクエリ タイムライン。クエリ実行のスナップショットが格納されます。
total_bytes_billed INTEGER オンデマンド料金を使用するようにプロジェクトが構成されている場合、このフィールドにはジョブに対して課金された合計バイト数が含まれます。プロジェクトが定額料金を使用するように構成されている場合、バイト数は課金されず、このフィールドは情報提供のみを目的としています。

: 行レベルのアクセス ポリシーが適用されたテーブルから読み取るクエリでは、この列の値が空になります。詳細については、BigQuery での行レベルのセキュリティに関するベスト プラクティスをご覧ください。

total_bytes_processed INTEGER

ジョブによって処理された合計バイト数。

: 行レベルのアクセス ポリシーが適用されたテーブルから読み取るクエリでは、この列の値が空になります。詳細については、BigQuery での行レベルのセキュリティに関するベスト プラクティスをご覧ください。

total_modified_partitions INTEGER ジョブによって変更されたパーティションの合計数。このフィールドは、LOAD ジョブと QUERY ジョブで入力されます。
total_slot_ms INTEGER RUNNING 状態(再試行を含む)のジョブの全期間におけるスロット(ミリ秒)。
total_services_sku_slot_ms INTEGER 外部サービスで実行され、サービス SKU で課金されるジョブの合計スロット(ミリ秒)。このフィールドは、課金方法が "SERVICES_SKU" である費用の使用量の合計であり、外部サービス費用を伴うジョブについてのみ入力されます。
transaction_id STRING このジョブが実行されたトランザクションの ID(存在する場合)。
user_email STRING (クラスタリング列)ジョブを実行したユーザーのメールアドレスまたはサービス アカウント。
query_info.resource_warning STRING クエリ処理中のリソース使用量がシステムの内部しきい値を超えた場合に表示される警告メッセージ。
クエリジョブが成功すると、resource_warning フィールドに値を入力できます。resource_warning を使用すると、query_hashes を使用してクエリを最適化し、同等のクエリセットのパフォーマンス トレンドのモニタリングを設定するための追加のデータポイントを取得できます。
query_info.query_hashes.normalized_literals STRING クエリのハッシュ値が含まれます。normalized_literals は、コメント、パラメータ値、UDF、リテラルを無視する 16 進数の STRING ハッシュです。ハッシュ値は、基盤となるビューが変更された場合、またはクエリが SELECT * などの列を暗黙的に参照し、テーブル スキーマが変更された場合に変化します。
このフィールドは、キャッシュ ヒットではない GoogleSQL クエリが成功した場合に表示されます。
query_info.performance_insights RECORD ジョブのパフォーマンス分析情報
query_info.optimization_details STRUCT ジョブの履歴ベースの最適化。この列は JOBS_BY_PROJECT ビューにのみ存在します。
transferred_bytes INTEGER クロスクラウド クエリ(BigQuery Omni クロスクラウド転送ジョブなど)で転送された合計バイト数。
materialized_view_statistics RECORD クエリジョブで考慮されるマテリアライズド ビューの統計。(プレビュー
metadata_cache_statistics RECORD クエリジョブで参照されるテーブルのメタデータ列インデックスの使用状況に関する統計情報
search_statistics RECORD 検索クエリの統計情報。
query_dialect STRING このフィールドは 2025 年 5 月に利用可能になる予定です。ジョブに使用されるクエリ言語。有効な値は次のとおりです。
  • GOOGLE_SQL: ジョブで GoogleSQL を使用するようにリクエストされました。
  • LEGACY_SQL: ジョブで LegacySQL を使用するようにリクエストされました。
  • DEFAULT_LEGACY_SQL: ジョブ リクエストでクエリ言語が指定されませんでした。BigQuery は LegacySQL のデフォルト値を使用しました。
  • DEFAULT_GOOGLE_SQL: ジョブ リクエストでクエリ言語が指定されませんでした。BigQuery は GoogleSQL のデフォルト値を使用しました。

このフィールドは、クエリジョブの場合にのみ入力されます。クエリ言語のデフォルトの選択は、構成設定で制御できます。
continuous BOOLEAN ジョブが継続的クエリであるかどうか。
continuous_query_info.output_watermark TIMESTAMP 継続的クエリがどの時点までデータを正常に処理したかを表します。
vector_search_statistics RECORD ベクトル検索クエリの統計情報。

安定性を確保するため、情報スキーマクエリではワイルドカード(SELECT *)を使用するのではなく、列を明示的にリストすることをおすすめします。列を明示的にリストすると、基になるスキーマが変更されてもクエリは中断されません。

データの保持

このビューには、実行中のジョブと過去 180 日間のジョブの履歴が表示されます。プロジェクトが組織に移行されると(組織がない状態から移行、または別の組織から移行)、移行日より前のジョブ情報は INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION ビューからアクセスできなくなります。これは、このビューが移行日以降のデータのみを保持するためです。

スコープと構文

このビューに対するクエリでは、リージョン修飾子を指定する必要があります。次の表に、このビューのリージョン スコープを示します。

ビュー名 リソース スコープ リージョン スコープ
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION 指定されたプロジェクトを含む組織 REGION
次のように置き換えます。
  • 省略可: PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
  • REGION: 任意のデータセット リージョン名。例: `region-us`

デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、次の形式でプロジェクト ID を追加します。

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
次のように置き換えます。

  • PROJECT_ID: プロジェクトの ID
  • REGION_NAME: プロジェクトのリージョン

例: `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION

今日最も多くのバイトをスキャンした上位 5 つのジョブを確認する

次の例は、組織で今日、最大バイト数をスキャンした 5 つのジョブを確認する方法を示しています。statement_type でフィルタを使用して、読み込み、エクスポート、クエリなどの追加情報をクエリできます。

SELECT
  job_id,
  user_email,
  total_bytes_billed
FROM
  `region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
WHERE
  EXTRACT(DATE FROM  creation_time) = current_date()
ORDER BY
  total_bytes_billed DESC
LIMIT 5;

次のような結果になります。

+--------------+--------------+---------------------------+
| job_id       |  user_email  |  total_bytes_billed       |
+--------------+--------------+---------------------------+
| bquxjob_1    |  abc@xyz.com |    999999                 |
| bquxjob_2    |  def@xyz.com |    888888                 |
| bquxjob_3    |  ghi@xyz.com |    777777                 |
+--------------+--------------+---------------------------+

ユーザーごとのコネクテッド シートの使用状況を組織レベルで集計する

次のクエリは、過去 30 日間に組織内で最も多くコネクテッド シートを使用したユーザーの概要を、課金対象データの合計でランク付けして返します。このクエリでは、各ユーザーのクエリの合計数、課金対象の合計バイト数、スロットの合計ミリ秒数が集計されます。これらの情報は、導入状況を把握し、リソースの主な消費者を特定するのに役立ちます。

SELECT
  user_email,
  COUNT(*) AS total_queries,
  SUM(total_bytes_billed) AS total_bytes_billed,
  SUM(total_slot_ms) AS total_slot_ms
FROM
  `region-REGION_NAME.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION`
WHERE
  -- Filter for jobs created in the last 30 days
  creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  -- Filter for jobs originating from Connected Sheets
  AND job_id LIKE 'sheets_dataconnector%'
  -- Filter for completed jobs
  AND state = 'DONE'
  AND (statement_type IS NULL OR statement_type <> 'SCRIPT')
GROUP BY
  1
ORDER BY
  total_bytes_billed DESC;

REGION_NAME は、プロジェクトのリージョンに置き換えます。例: region-us

結果は次のようになります。

+---------------------+---------------+--------------------+-----------------+
| user_email          | total_queries | total_bytes_billed | total_slot_ms   |
+---------------------+---------------+--------------------+-----------------+
| alice@example.com   | 152           | 12000000000        | 3500000         |
| bob@example.com     | 45            | 8500000000         | 2100000         |
| charles@example.com | 210           | 1100000000         | 1800000         |
+---------------------+---------------+--------------------+-----------------+

組織レベルのコネクテッド シートのクエリのジョブログを確認する

次のクエリは、コネクテッド シートで実行された個々のクエリの詳細なログを提供します。これらの情報は、監査やコストの高いクエリの特定に役立ちます。

SELECT
  job_id,
  creation_time,
  user_email,
  project_id,
  total_bytes_billed,
  total_slot_ms,
  query
FROM
  `region-REGION_NAME.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION`
WHERE
  creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  AND job_id LIKE 'sheets_dataconnector%'
  AND state = 'DONE'
  AND (statement_type IS NULL OR statement_type <> 'SCRIPT')
ORDER BY
  creation_time DESC;

REGION_NAME は、プロジェクトのリージョンに置き換えます。例: region-us

結果は次のようになります。

+---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+--------------------------------+
| job_id                          | creation_time                   | user_email      | project_id | total_bytes_billed | total_slot_ms |  query                         |
+---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+--------------------------------+
| sheets_dataconnector_bquxjob_1  | 2025-11-06 00:26:53.077000 UTC  | abc@example.com | my_project | 12000000000        | 3500000       | SELECT ... FROM dataset.table1 |
| sheets_dataconnector_bquxjob_2  | 2025-11-06 00:24:04.294000 UTC  | xyz@example.com | my_project | 8500000000         | 2100000       | SELECT ... FROM dataset.table2 |
| sheets_dataconnector_bquxjob_3  | 2025-11-03 23:17:25.975000 UTC  | bob@example.com | my_project | 1100000000         | 1800000       | SELECT ... FROM dataset.table3 |
+---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+--------------------------------+