INFORMATION_SCHEMA.RECOMMENDATIONS 檢視

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

INFORMATION_SCHEMA.RECOMMENDATIONS 檢視畫面包含目前專案中所有 BigQuery 最佳化建議的資料。BigQuery 會從推薦中心擷取所有 BigQuery 推薦工具的推薦內容,並在這個檢視畫面中顯示。

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

INFORMATION_SCHEMA.RECOMMENDATIONS 檢視畫面只會顯示 BigQuery 相關建議。您可以在 Google Cloud 建議中心查看建議。

必要權限

如要透過 INFORMATION_SCHEMA.RECOMMENDATIONS 檢視建議,您必須具備對應推薦工具的必要權限。INFORMATION_SCHEMA.RECOMMENDATIONS 檢視畫面只會傳回您有權查看的推薦內容。

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

結構定義

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

資料欄名稱 資料類型
recommendation_id STRING 包含推薦 ID 和推薦者,並採用 Base64 編碼的 ID。
recommender STRING 推薦內容類型。例如,google.bigquery.table.PartitionClusterRecommender 可用於分區和分群建議。
subtype STRING 推薦內容的子類型。
project_id STRING 專案 ID。
project_number STRING 專案編號。
description STRING 建議內容的說明。
last_updated_time TIMESTAMP 這個欄位代表上次建立推薦內容的時間。
target_resources STRING 這項最佳化建議指定的完整資源名稱。
state STRING 推薦內容的狀態。如需可能值的清單,請參閱「狀態」。
primary_impact RECORD 這項最佳化建議在嘗試改善主要類別時可能產生的影響。包含下列欄位:
  • category:這個最佳化建議嘗試最佳化的類別。如需可能值的清單,請參閱「類別」一節。
  • cost_projection:如果建議可預測這項建議可節省的費用,就會填入這個值。只有在類別為 COST 時才會顯示。
  • security_projection:類別為 SECURITY 時可能會出現。
priority STRING 建議的優先順序。如需可能值的清單,請參閱「優先順序」。
associated_insight_ids STRING 與最佳化建議相關聯的完整洞察名稱。洞察名稱是洞察類型名稱和洞察 ID 的 Base64 編碼表示法。可用來查詢洞察檢視畫面。
additional_details RECORD 最佳化建議的其他詳細資料。
  • overview:建議內容的 JSON 格式摘要。這個欄位的內容可能會因推薦者而異。
  • state_metadata:關於推薦狀態的中繼資料,以鍵/值組合表示。
  • operations:使用者可對目標資源執行的作業清單。其中包含下列欄位:
    • action:使用者必須執行的動作類型。系統在產生推薦內容時,可設定這項自由文字。一律會填入。
    • resource_type:雲端資源類型。
    • resource:完整資源名稱。
    • path:相對於資源的目標欄位路徑。
    • value:路徑欄位的值。

範圍和語法

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

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

範例

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

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

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

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

查看主要節省成本建議

以下範例會根據預估的 slot_hours_saved_monthly,傳回前 3 個 COST 類別的推薦項目:

SELECT 
   recommender,
   target_resources,
   LAX_INT64(additional_details.overview.bytesSavedMonthly) / POW(1024, 3) as est_gb_saved_monthly,
    LAX_INT64(additional_details.overview.slotMsSavedMonthly) / (1000 * 3600) as slot_hours_saved_monthly,
  last_updated_time
FROM 
  `region-us`.
   INFORMATION_SCHEMA.RECOMMENDATIONS_BY_PROJECT
WHERE 
   primary_impact.category = 'COST'
AND
   state = 'ACTIVE'
ORDER by 
   slot_hours_saved_monthly DESC 
LIMIT 3;

結果大致如下:

+---------------------------------------------------+--------------------------------------------------------------------------------------------------+
|                    recommender                    |   target_resources      | est_gb_saved_monthly | slot_hours_saved_monthly |  last_updated_time
+---------------------------------------------------+--------------------------------------------------------------------------------------------------+
| google.bigquery.materializedview.Recommender      | ["project_resource"]    | 140805.38289248943   |        9613.139166666666 |  2024-07-01 13:00:00
| google.bigquery.table.PartitionClusterRecommender | ["table_resource_1"]    | 4393.7416711859405   |        56.61476777777777 |  2024-07-01 13:00:00
| google.bigquery.table.PartitionClusterRecommender | ["table_resource_2"]    |   3934.07264107652   |       10.499466666666667 |  2024-07-01 13:00:00
+---------------------------------------------------+--------------------------------------------------------------------------------------------------+