Vista INFORMATION_SCHEMA.RECOMMENDATIONS

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

La vista INFORMATION_SCHEMA.RECOMMENDATIONS contiene datos sobre todas las recomendaciones de BigQuery del proyecto actual. BigQuery obtiene recomendaciones de todos los recomendadores de BigQuery del Centro de recomendaciones y las muestra en esta vista.

La vista INFORMATION_SCHEMA.RECOMMENDATIONS admite las siguientes recomendaciones:

La vista INFORMATION_SCHEMA.RECOMMENDATIONS solo muestra recomendaciones relacionadas con BigQuery. Puedes ver las Google Cloud recomendaciones en el centro de recomendaciones.

Permiso obligatorio

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

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

Esquema

La vista INFORMATION_SCHEMA.RECOMMENDATIONS tiene el siguiente esquema:

Nombre de la columna Tipo de datos Valor
recommendation_id STRING ID codificado en Base64 que contiene el RecommendationID y el recommender.
recommender STRING El tipo de recomendación. Por ejemplo, google.bigquery.table.PartitionClusterRecommender para recomendaciones de partición y clustering.
subtype STRING Subtipo de la recomendación.
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 creó la recomendación por última vez.
target_resources STRING Nombres de recursos completos a los que se dirige esta recomendación.
state STRING El estado de la recomendación. Para ver una lista de los valores posibles, consulta State.
primary_impact RECORD El impacto que puede tener esta recomendación al intentar optimizar la categoría principal. Contiene los siguientes campos:
  • category: la categoría que intenta optimizar esta recomendación. Para ver una lista de los valores posibles, consulta Categoría.
  • cost_projection: este valor puede rellenarse si la recomendación puede predecir el ahorro de costes que se obtendrá al aplicarla. Solo se incluye cuando la categoría es COST.
  • security_projection: puede estar presente cuando la categoría sea SECURITY.
priority STRING La prioridad de la recomendación. Para ver una lista de los valores posibles, consulta Priority.
associated_insight_ids STRING Nombres completos de las estadísticas asociadas a la recomendación.El nombre de la estadística es la representación codificada en Base64 del nombre del tipo de estadística y del ID de la estadística. Se puede usar para consultar la vista Estadísticas.
additional_details RECORD Detalles adicionales sobre la recomendación.
  • overview: resumen de la recomendación en formato JSON. El contenido de este campo puede cambiar en función del recomendador.
  • state_metadata: metadatos sobre el estado de la recomendación en pares clave-valor.
  • operations: lista de operaciones que el usuario puede realizar en los recursos de destino. Contiene los siguientes campos:
    • action: el tipo de acción que debe realizar el usuario. El sistema puede definirlo como texto libre al generar la recomendación. Siempre se rellenará.
    • resource_type: el tipo de recurso de nube.
    • resource: nombre completo del recurso.
    • path: ruta del campo de destino relativa al recurso.
    • value: valor del campo de ruta.

Á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.RECOMMENDATIONS[_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.RECOMMENDATIONS
Sustituye lo siguiente:

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

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

Ver las principales recomendaciones de ahorro de costes

En el siguiente ejemplo se devuelven las tres principales recomendaciones de categorías COST en función de las slot_hours_saved_monthly proyectadas:

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;

El resultado es similar al siguiente:

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