INFORMATION_SCHEMA.INSIGHTS 檢視表

如要針對這項功能提供意見回饋或尋求支援,請傳送電子郵件至 bq-recommendations+feedback@google.com

INFORMATION_SCHEMA.INSIGHTS 檢視畫面包含目前專案中所有 BigQuery 建議的深入分析資料。BigQuery 會從推薦中心擷取所有 BigQuery 洞察類型的洞察資料,並在這個檢視畫面中顯示。BigQuery 洞察結果一律會與建議相關聯。

INFORMATION_SCHEMA.INSIGHTS 檢視畫面支援下列最佳化建議:

必要權限

如要透過 INFORMATION_SCHEMA.INSIGHTS 檢視深入分析,您必須具備對應推薦工具的必要權限。INFORMATION_SCHEMA.INSIGHTS 檢視畫面只會傳回您有權查看的建議洞察資料。

請要求管理員授予查看洞察資料的存取權。如要查看每個推薦工具的必要權限,請參閱以下內容:

結構定義

INFORMATION_SCHEMA.INSIGHTS 檢視表具有下列結構定義:

資料欄名稱 資料類型
insight_id STRING 包含洞察類型和洞察 ID 的 Base64 編碼 ID
insight_type STRING 洞察的類型。例如 google.bigquery.materializedview.Insight
subtype STRING 洞察資料的子類型。
project_id STRING 專案 ID。
project_number STRING 專案編號。
description STRING 建議內容的說明。
last_updated_time TIMESTAMP 這個欄位代表洞察資料上次更新的時間。
category STRING 影響的最佳化類別。
target_resources STRING 這項洞察指定的完整資源名稱。
state STRING 洞察的狀態。如需可能值的清單,請參閱「」一節。
severity STRING 洞察資料的嚴重程度。如需可能值的清單,請參閱「嚴重性」。
associated_recommendation_ids STRING 與這項洞察相關聯的完整建議名稱。推薦名稱是推薦者類型和推薦 ID 的 Base64 編碼表示法。
additional_details RECORD 洞察資料的其他詳細資料。
  • content:以 JSON 格式呈現的洞察內容。
  • state_metadata:洞察資訊狀態的中繼資料。包含鍵/值組合。
  • observation_period_seconds:產生洞察資料的觀察期間。

範圍和語法

對這個檢視表執行的查詢必須包含區域限定詞。專案 ID 為選填欄位。如果未指定專案 ID,系統會使用查詢執行的專案。

檢視表名稱 資源範圍 區域範圍
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.INSIGHTS[_BY_PROJECT] 專案層級 REGION
替換下列內容:
  • 選用:PROJECT_ID: Google Cloud 專案的 ID。如果未指定,系統會使用預設專案。
  • REGION:任一資料集區域名稱。例如:`region-us`

範例

如要對預設專案以外的專案執行查詢,請使用下列格式新增專案 ID:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.INSIGHTS
取代下列內容:

  • PROJECT_ID:專案 ID。
  • REGION_NAME:專案的區域。

例如 `myproject`.`region-us`.INFORMATION_SCHEMA.INSIGHTS

查看可節省成本的有效洞察資料

以下範例會將洞察檢視畫面與最佳化建議檢視畫面結合,針對「費用」類別中的「有效」洞察,傳回 3 項最佳化建議:

WITH 
 insights as (SELECT * FROM `region-us`.INFORMATION_SCHEMA.INSIGHTS),
 recs as (SELECT recommender, recommendation_id, additional_details FROM `region-us`.INFORMATION_SCHEMA.RECOMMENDATIONS)

SELECT  
   recommender,
   target_resources,
   LAX_INT64(recs.additional_details.overview.bytesSavedMonthly) / POW(1024, 3) as est_gb_saved_monthly,
   LAX_INT64(recs.additional_details.overview.slotMsSavedMonthly) / (1000 * 3600) as slot_hours_saved_monthly,
   insights.additional_details.observation_period_seconds / 86400 as observation_period_days,
   last_updated_time
FROM 
  insights 
JOIN recs 
ON 
  recommendation_id in UNNEST(associated_recommendation_ids) 
WHERE 
  state = 'ACTIVE' 
AND
  category = 'COST'
LIMIT 3;

結果大致如下:

+---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+
|                    recommender                    |   target_resource   |  gb_saved_monthly  | slot_hours_saved_monthly | observation_period_days |  last_updated_time  |
+---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+
| google.bigquery.table.PartitionClusterRecommender | ["table_resource1"] |   3934.07264107652 |       10.499466666666667 |                    30.0 | 2024-07-01 16:41:25 |
| google.bigquery.table.PartitionClusterRecommender | ["table_resource2"] | 4393.7416711859405 |        56.61476777777777 |                    30.0 | 2024-07-01 16:41:25 |
| google.bigquery.materializedview.Recommender      | ["project_resource"]| 140805.38289248943 |        9613.139166666666 |                     2.0 | 2024-07-01 13:00:31 |
+---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+