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 |
+---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+