INFORMATION_SCHEMA.INSIGHTS 视图

如需就此功能提供反馈或请求支持,请发送电子邮件至 bq-recommendations+feedback@google.com

INFORMATION_SCHEMA.INSIGHTS 视图包含有关当前项目中所有 BigQuery 建议的数据分析。BigQuery 会从 Recommendation Hub 检索所有 BigQuery 数据分析类型的数据分析结果,并在此视图中显示。BigQuery 数据分析始终与建议相关联。

INFORMATION_SCHEMA.INSIGHTS 视图支持以下建议:

所需权限

如需使用 INFORMATION_SCHEMA.INSIGHTS 视图查看数据分析,您必须拥有相应 Recommender 所需的权限。INFORMATION_SCHEMA.INSIGHTS 视图仅从您有权查看的建议中返回数据分析。

请让您的管理员授予查看数据分析的权限。如需查看每个 Recommender 所需的权限,请参阅以下内容:

架构

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 与此数据分析相关联的完整建议名称。建议名称是 Recommender 类型和推荐 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

    查看有效数据分析并节省成本

    以下示例将数据分析视图与建议视图联接起来,针对 COST 类别中处于 ACTIVE 状态的数据分析返回 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 |
    +---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+