监控持续查询
您可以使用以下 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 预留。
使用查询执行图监控持续查询性能
您可以使用查询执行图获取持续查询的性能数据分析和一般统计信息。如需了解详情,请参阅查看查询性能数据分析。
使用作业历史记录监控持续查询执行
您可以在个人作业历史记录或项目的作业历史记录中查看作业详细信息。如需了解详情,请参阅查看作业详细信息。
请注意,历史作业列表按作业开始时间排序,因此已经运行了一段时间的持续查询可能不会靠近列表的开头。