Vue INFORMATION_SCHEMA.RECOMMENDATIONS

Pour demander des conseils ou obtenir de l'aide pour cette fonctionnalité, envoyez un e-mail à l'adresse bq-recommendations+feedback@google.com.

La vue INFORMATION_SCHEMA.RECOMMENDATIONS contient des données sur toutes les recommandations BigQuery du projet en cours. BigQuery récupère les recommandations pour tous les outils de recommandation BigQuery à partir du Centre de recommandations et les présente dans cette vue.

La vue INFORMATION_SCHEMA.RECOMMENDATIONS accepte les recommandations suivantes :

La vue INFORMATION_SCHEMA.RECOMMENDATIONS n'affiche que les recommandations liées à BigQuery. Vous pouvez consulter les recommandations Google Cloud dans le Centre de recommandations.

Autorisation requise

Pour afficher les recommandations avec la vue INFORMATION_SCHEMA.RECOMMENDATIONS, vous devez disposer des autorisations requises pour l'outil de recommandation correspondant. La vue INFORMATION_SCHEMA.RECOMMENDATIONS ne renvoie que les recommandations que vous êtes autorisé à consulter.

Demandez à votre administrateur de vous accorder l'accès pour afficher les recommandations. Pour connaître les autorisations requises pour chaque outil de recommandation, consultez les éléments suivants:

Schéma

La vue INFORMATION_SCHEMA.RECOMMENDATIONS présente le schéma suivant :

Nom de la colonne Type de données Valeur
recommendation_id STRING ID encodé en base64 contenant l'objet RecommendationID et l'outil de recommandation.
recommender STRING Type de recommandation. Par exemple, google.bigquery.table.PartitionClusterRecommender pour les recommandations de partitionnement et de clustering.
subtype STRING Sous-type de la recommandation.
project_id STRING ID du projet
project_number STRING Numéro du projet.
description STRING Description de la recommandation.
last_updated_time TIMESTAMP Ce champ indique l'heure à laquelle la recommandation a été créée pour la dernière fois.
target_resources STRING Noms complets des ressources ciblées par cette recommandation.
state STRING État de la recommandation. Pour obtenir la liste des valeurs possibles, consultez État.
primary_impact RECORD Impact de cette recommandation lorsque vous essayez d'optimiser la catégorie principale. Contient les champs suivants :
  • category: catégorie que cette recommandation tente d'optimiser. Pour obtenir la liste des valeurs possibles, consultez la section Catégorie.
  • cost_projection : cette valeur peut être renseignée si la recommandation est capable de projeter les économies de coûts qu'elle génère. N'est présente que si la catégorie est COST.
  • security_projection : cette valeur peut être présente lorsque la catégorie est SECURITY.
priority STRING Priorité de la recommandation. Pour obtenir la liste des valeurs possibles, consultez la section Priorité.
associated_insight_ids STRING Nom complets des insights associés à la recommendation. Le nom de l'insight est la représentation encodée en base64 du nom du type d'insight et de l'ID de l'insight. Vous pouvez l'utiliser pour interroger la vue "Insights".
additional_details RECORD Informations supplémentaires sur la recommandation.
  • overview: aperçu de la recommandation au format JSON. Le contenu de ce champ peut varier en fonction de l'outil de recommandation.
  • state_metadata : métadonnées sur l'état de la recommandation dans des paires clé/valeur.
  • operations : liste des opérations que l'utilisateur peut effectuer sur les ressources cibles. Il contient les champs suivants :
    • action : type d'action que l'utilisateur doit effectuer. Il peut s'agir d'un texte libre défini par le système lors de la génération de la recommandation. Cette information est toujours fournie.
    • resource_type : type de ressource cloud.
    • resource : nom complet de la ressource.
    • path : chemin d'accès du champ cible lié à la ressource.
    • value : valeur du champ du chemin d'accès.

Champ d'application et syntaxe

Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région. L'ID de projet est facultatif. Si aucun ID de projet n'est spécifié, le projet dans lequel la requête est exécutée est utilisé.

Nom de la vue Champ d'application de la ressource Champ d'application de la région
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RECOMMENDATIONS[_BY_PROJECT] Niveau Projet REGION
Remplacez les éléments suivants :

  • Facultatif : PROJECT_ID : ID de votre projet Google Cloud. Si non spécifié, le projet par défaut est utilisé.

  • REGION : tout nom de région d'ensemble de données. Par exemple, `region-us`.

  • Exemple

    Pour exécuter la requête sur un projet autre que celui par défaut, ajoutez l'ID du projet en respectant le format suivant :

    `PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.RECOMMENDATIONS
    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet.
    • REGION_NAME : région de votre projet

    Par exemple, `myproject`.`region-us`.INFORMATION_SCHEMA.RECOMMENDATIONS.

    Afficher les principales recommandations de réduction des coûts

    L'exemple suivant renvoie les trois principales recommandations de type COST en fonction du résultat slot_hours_saved_monthly projeté :

    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;
    
    

    Le résultat ressemble à ce qui suit :

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