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:
- Recomendaciones de partición y clúster
- Recomendaciones de vistas materializadas
- Recomendaciones de roles para conjuntos de datos de BigQuery
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:
- Permisos de recomendador de particiones y clústeres
- Permisos de recomendaciones de vistas materializadas
- Recomendaciones de roles para permisos de conjuntos de datos
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.
|
Á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 |
-
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
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 | +---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+