継続的クエリをモニタリングする

BigQuery の継続的クエリは、次の BigQuery ツールを使用してモニタリングできます。

BigQuery の継続的クエリは長時間実行されるため、通常、SQL クエリの完了時に生成される指標が存在しないか、正確でない可能性があります。

INFORMATION_SCHEMA ビューを使用して継続的クエリをモニタリングする

複数の INFORMATION_SCHEMA ビューを使用して、継続的クエリとその予約をモニタリングできます。

継続的クエリジョブの詳細を取得する

ASSIGNMENTS ビューと JOBS ビューを使用して、継続的クエリジョブのメタデータを取得できます。

実行中のすべての継続的クエリのメタデータを返します。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [クエリエディタ] ペインで、次のクエリを実行します。

    SELECT
      jobs.job_id,
      jobs.user_email,
      jobs.query,
      jobs.state,
      assignment.reservation_name
    FROM `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.ASSIGNMENTS` AS assignment
    INNER JOIN `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.JOBS` AS jobs
      ON (CONCAT('ADMIN_PROJECT_ID:LOCATION.', assignment.reservation_name) = jobs.reservation_id)
    WHERE
      assignment.assignee_id = 'PROJECT_ID'
      AND assignment.job_type = 'CONTINUOUS'
      AND jobs.state = 'RUNNING'
    GROUP BY 1, 2, 3, 4, 5;

    次のように置き換えます。

    • ADMIN_PROJECT_ID: 予約を所有する管理プロジェクトの ID。
    • LOCATION: 予約のロケーション。
    • PROJECT_ID: 予約に割り当てられたプロジェクトの ID。このプロジェクトで実行されている継続的クエリに関する情報のみが返されます。

継続的クエリの予約割り当ての詳細を取得する

ASSIGNMENTS ビューと RESERVATIONS ビューを使用して、継続的クエリの予約の割り当ての詳細を取得できます。

継続的クエリの予約割り当ての詳細を返します。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [クエリエディタ] ペインで、次のクエリを実行します。

    SELECT
      reservation.reservation_name,
      reservation.slot_capacity
    FROM
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.ASSIGNMENTS`
        AS assignment
    INNER JOIN
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.RESERVATIONS`
        AS reservation
      ON (assignment.reservation_name = reservation.reservation_name)
    WHERE
      assignment.assignee_id = 'PROJECT_ID'
      AND job_type = 'CONTINUOUS';

    次のように置き換えます。

    • ADMIN_PROJECT_ID: 予約を所有する管理プロジェクトの ID。
    • LOCATION: 予約のロケーション。
    • PROJECT_ID: 予約に割り当てられたプロジェクトの ID。このプロジェクトで実行されている継続的クエリに関する情報のみが返されます。

継続的クエリのスロット使用量の情報を取得する

ASSIGNMENTS ビュー、RESERVATIONS ビュー、JOBS_TIMELINE ビューを使用して、継続的クエリのスロット使用量に関する情報を取得できます。

継続的クエリのスロット使用量情報を返します。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [クエリエディタ] ペインで、次のクエリを実行します。

    SELECT
      jobs.period_start,
      reservation.reservation_name,
      reservation.slot_capacity,
      SUM(jobs.period_slot_ms) / 1000 AS consumed_total_slots
    FROM
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.ASSIGNMENTS`
        AS assignment
    INNER JOIN
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.RESERVATIONS`
        AS reservation
      ON (assignment.reservation_name = reservation.reservation_name)
    INNER JOIN
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.JOBS_TIMELINE` AS jobs
      ON (
        CONCAT('ADMIN_PROJECT_ID:LOCATION.', assignment.reservation_name)
        = jobs.reservation_id)
    WHERE
      assignment.assignee_id = 'PROJECT_ID'
      AND assignment.job_type = 'CONTINUOUS'
      AND jobs.period_start
        BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
        AND CURRENT_TIMESTAMP()
    GROUP BY 1, 2, 3
    ORDER BY jobs.period_start DESC;

    次のように置き換えます。

    • ADMIN_PROJECT_ID: 予約を所有する管理プロジェクトの ID。
    • LOCATION: 予約のロケーション。
    • PROJECT_ID: 予約に割り当てられたプロジェクトの ID。このプロジェクトで実行されている継続的クエリに関する情報のみが返されます。

Metrics Explorer管理リソースのグラフなどのツールで継続的クエリの予約をモニタリングすることもできます。詳細については、BigQuery の予約をモニタリングするをご覧ください。

クエリ実行グラフで継続的クエリのパフォーマンスをモニタリングする

クエリ実行グラフを使用すると、継続的クエリのパフォーマンス分析情報と一般的な統計情報を取得できます。詳細については、クエリのパフォーマンス分析情報を表示するをご覧ください。

ジョブ履歴で継続的クエリの実行をモニタリングする

ジョブの詳細は、ユーザーのジョブ履歴またはプロジェクトのジョブ履歴で確認できます。詳細については、ジョブの詳細を表示するをご覧ください。

ジョブの履歴リストはジョブの開始時間で並べ替えられています。このため、長時間実行されている継続的クエリはリストの先頭のほうに表示されないことがあります。