RESERVATIONS_TIMELINE 檢視畫面
INFORMATION_SCHEMA.RESERVATIONS_TIMELINE
檢視畫面會每分鐘顯示每個預留項目管理專案的預留資料結構近乎即時的時間切片。
結構定義
查詢 INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_*
檢視表時,查詢結果會包含過去 180 天內每分鐘的每個 BigQuery 預留資料列,以及 180 天前發生的事件每分鐘的預留資料列變更。每個時段都會在整分鐘的間隔開始,並持續一分鐘。
INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_PROJECT
檢視表具有下列結構定義:
資料欄名稱 | 資料類型 | 值 |
---|---|---|
autoscale |
STRUCT |
保留項目的自動調整容量相關資訊。欄位包括:
|
edition |
STRING |
與此預訂相關聯的版本。如要進一步瞭解版本,請參閱「BigQuery 版本簡介」。 |
ignore_idle_slots |
BOOL |
如果已啟用運算單元共用功能,則為 False;否則為 True。 |
labels |
RECORD |
與預訂相關聯的標籤陣列。 |
period_start |
TIMESTAMP |
這段一分鐘的開始時間。 |
project_id |
STRING |
預留項目管理員專案的 ID。 |
project_number |
INTEGER |
專案編號。 |
reservation_id |
STRING |
用於與 jobs_timeline 資料表彙整。格式為 project_id:location.reservation_name。 |
reservation_name |
STRING |
預訂名稱。 |
slots_assigned |
INTEGER |
指派給此預留項目的運算單元數量。 |
slots_max_assigned |
INTEGER |
這個預留項目的運算單元容量上限,包括共用運算單元。如果 ignore_idle_slots 為 true,則與 slots_assigned 相同;否則,則是管理員專案中所有容量使用承諾的運算單元總數。 |
max_slots |
INTEGER |
這個預留項目可使用的運算單元數量上限,包括基準運算單元 (slot_capacity )、閒置運算單元 (如果 ignore_idle_slots 為 false) 和自動調度運算單元。使用者會指定這個欄位,以便使用預留空間可預測性功能。 |
scaling_mode |
STRING |
預留項目的縮放模式,決定預留項目從基準值縮放至 max_slots 的方式。使用者會指定這個欄位,以便使用預留空間可預測性功能。 |
範圍和語法
對這個檢視表執行的查詢必須包含區域限定詞。如果您未指定區域限定條件,系統會從所有區域擷取中繼資料。下表說明這個檢視畫面的區域和資源範圍:
檢視表名稱 | 資源範圍 | 區域範圍 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE[_BY_PROJECT] |
專案層級 | REGION |
-
選用:
PROJECT_ID
: Google Cloud 專案的 ID。如果未指定,系統會使用預設專案。 -
REGION
:任一資料集區域名稱。例如:`region-us`
。
範例
範例:查看每分鐘的運算單元總用量
如要對預設專案以外的專案執行查詢,請使用下列格式新增專案 ID:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
`myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
。
以下範例顯示在所有工作中,指派給 YOUR_RESERVATION_ID
的專案每分鐘的時間分配用量:
SELECT res.period_start, SUM(jobs.period_slot_ms) / 1000 / 60 AS period_slot_minutes, ANY_VALUE(res.slots_assigned) AS rough_slots_assigned, ANY_VALUE(res.slots_max_assigned) AS rough_slots_max_assigned FROM `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION jobs JOIN `region-us`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE res ON TIMESTAMP_TRUNC(jobs.period_start, MINUTE) = res.period_start AND jobs.reservation_id = res.reservation_id WHERE jobs.job_creation_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) AND CURRENT_TIMESTAMP() AND res.reservation_id = 'YOUR_RESERVATION_ID' AND (jobs.statement_type != "SCRIPT" OR jobs.statement_type IS NULL) -- Avoid duplicate byte counting in parent and children jobs. GROUP BY period_start ORDER BY period_start DESC;
結果大致如下:
+-----------------------+---------------------+---------------------+-------------------------+ | period_start | period_slot_minutes | rough_slots_assigned| rough_slots_max_assigned| +-----------------------+---------------------+---------------------+-------------------------+ |2021-06-08 21:33:00 UTC| 100.000 | 100 | 100 | |2021-06-08 21:32:00 UTC| 96.753 | 100 | 100 | |2021-06-08 21:31:00 UTC| 41.668 | 100 | 100 | +-----------------------+---------------------+---------------------+-------------------------+
範例:預留項目的運算單元用量
以下範例顯示過去 1 天內每個保留項目每分鐘的運算單元用量:
SELECT res.period_start, res.reservation_id, SUM(jobs.period_slot_ms) / 1000 / 60 AS period_slot_minutes, ANY_VALUE(res.slots_assigned) AS rough_slots_assigned, ANY_VALUE(res.slots_max_assigned) AS rough_slots_max_assigned, FROM `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION jobs JOIN `region-us`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE res ON TIMESTAMP_TRUNC(jobs.period_start, MINUTE) = res.period_start AND jobs.reservation_id = res.reservation_id WHERE jobs.job_creation_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) AND CURRENT_TIMESTAMP() AND (jobs.statement_type != "SCRIPT" OR jobs.statement_type IS NULL) -- Avoid duplicate byte counting in parent and children jobs. GROUP BY period_start, reservation_id ORDER BY period_start DESC, reservation_id;
結果大致如下:
+-----------------------+----------------+---------------------+----------------------+--------------------------+ | period_start | reservation_id | period_slot_minutes | rough_slots_assigned | rough_slots_max_assigned | +-----------------------+----------------+---------------------+----------------------+--------------------------+ |2021-06-08 21:33:00 UTC| prod01 | 100.000 | 100 | 100 | |2021-06-08 21:33:00 UTC| prod02 | 177.201 | 200 | 500 | |2021-06-08 21:32:00 UTC| prod01 | 96.753 | 100 | 100 | |2021-06-08 21:32:00 UTC| prod02 | 182.329 | 200 | 500 | +-----------------------+----------------+---------------------+----------------------+--------------------------+