Vista INFORMATION_SCHEMA.INSIGHTS

Para solicitar comentarios o asistencia sobre esta función, envía un correo a bq-recommendations+feedback@google.com.

La vista INFORMATION_SCHEMA.INSIGHTS contiene estadísticas sobre todas las recomendaciones de BigQuery del proyecto actual. BigQuery obtiene estadísticas de todos los tipos de estadísticas de BigQuery del Centro de recomendaciones y las muestra en esta vista. Las estadísticas de BigQuery siempre están asociadas a una recomendación.

La vista INFORMATION_SCHEMA.INSIGHTS admite las siguientes recomendaciones:

Permiso obligatorio

Para ver estadísticas con la vista INFORMATION_SCHEMA.INSIGHTS, debes tener los permisos necesarios para el recomendador correspondiente. La vista INFORMATION_SCHEMA.INSIGHTS solo devuelve estadísticas de las recomendaciones que tienes permiso para ver.

Pide a tu administrador que te dé acceso para ver las estadísticas. Para ver los permisos necesarios de cada recomendador, consulta lo siguiente:

Esquema

La vista INFORMATION_SCHEMA.INSIGHTS tiene el siguiente esquema:

Nombre de la columna Tipo de datos Valor
insight_id STRING ID codificado en Base64 que contiene el tipo de estadística y el ID de la estadística
insight_type STRING El tipo de estadística. Por ejemplo, google.bigquery.materializedview.Insight.
subtype STRING Subtipo de la estadística.
project_id STRING El ID del proyecto.
project_number STRING El número del proyecto.
description STRING La descripción de la recomendación.
last_updated_time TIMESTAMP Este campo representa la hora en la que se actualizó la estadística por última vez.
category STRING Categoría de optimización del impacto.
target_resources STRING Nombres de recurso completos a los que se dirige esta estadística.
state STRING El estado de la estadística. Para ver una lista de los valores posibles, consulta Value.
severity STRING La gravedad de la estadística. Para ver una lista de los valores posibles, consulta Gravedad.
associated_recommendation_ids STRING Nombres completos de las recomendaciones asociadas a esta estadística. El nombre de la recomendación es la representación codificada en Base64 del tipo de recomendador y el ID de la recomendación.
additional_details RECORD Detalles adicionales sobre la estadística.
  • content: contenido de la estadística en formato JSON.
  • state_metadata: metadatos sobre el estado de la estadística. Contiene pares clave-valor.
  • observation_period_seconds: periodo de observación para generar la estadística.

Ámbito y sintaxis

Las consultas en esta vista deben incluir un calificador de región. El ID de proyecto es opcional. Si no se especifica ningún ID de proyecto, se usa el proyecto en el que se ejecuta la consulta.

Nombre de la vista Ámbito de los recursos Ámbito de la región
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.INSIGHTS[_BY_PROJECT] Nivel de proyecto REGION
Sustituye lo siguiente:
  • Opcional: PROJECT_ID: el ID de tu Google Cloud proyecto. Si no se especifica, se usa el proyecto predeterminado.
  • REGION: cualquier nombre de región del conjunto de datos. Por ejemplo, `region-us`.

Ejemplo

Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto con el siguiente formato:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.INSIGHTS
Sustituye lo siguiente:

  • PROJECT_ID: el ID del proyecto.
  • REGION_NAME: la región de tu proyecto.

Por ejemplo, `myproject`.`region-us`.INFORMATION_SCHEMA.INSIGHTS.

Ver estadísticas activas con ahorros de costes

En el siguiente ejemplo, se combina la vista de estadísticas con la vista de recomendaciones para devolver tres recomendaciones de las estadísticas que están ACTIVAS en la categoría COSTE:

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;

El resultado es similar al siguiente:

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