継続的クエリをモニタリングする
BigQuery の継続的クエリは、次の BigQuery ツールを使用してモニタリングできます。
BigQuery の継続的クエリは長時間実行されるため、通常、SQL クエリの完了時に生成される指標が存在しないか、正確でない可能性があります。
INFORMATION_SCHEMA
ビューを使用して継続的クエリをモニタリングする
複数の INFORMATION_SCHEMA
ビューを使用して、継続的クエリとその予約をモニタリングできます。
継続的クエリジョブの詳細を取得する
ASSIGNMENTS
ビューと JOBS
ビューを使用して、継続的クエリジョブのメタデータを取得できます。
実行中のすべての継続的クエリのメタデータを返します。
Google Cloud コンソールで [BigQuery] ページに移動します。
[クエリエディタ] ペインで、次のクエリを実行します。
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
ビューを使用して、継続的クエリの予約の割り当ての詳細を取得できます。
継続的クエリの予約割り当ての詳細を返します。
Google Cloud コンソールで [BigQuery] ページに移動します。
[クエリエディタ] ペインで、次のクエリを実行します。
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
ビューを使用して、継続的クエリのスロット使用量に関する情報を取得できます。
継続的クエリのスロット使用量情報を返します。
Google Cloud コンソールで [BigQuery] ページに移動します。
[クエリエディタ] ペインで、次のクエリを実行します。
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 の予約をモニタリングするをご覧ください。
クエリ実行グラフで継続的クエリのパフォーマンスをモニタリングする
クエリ実行グラフを使用すると、継続的クエリのパフォーマンス分析情報と一般的な統計情報を取得できます。詳細については、クエリのパフォーマンス分析情報を表示するをご覧ください。
ジョブ履歴で継続的クエリの実行をモニタリングする
ジョブの詳細は、ユーザーのジョブ履歴またはプロジェクトのジョブ履歴で確認できます。詳細については、ジョブの詳細を表示するをご覧ください。
ジョブの履歴リストはジョブの開始時間で並べ替えられています。このため、長時間実行されている継続的クエリはリストの先頭のほうに表示されないことがあります。