Vue INFORMATION_SCHEMA.INSIGHTS

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.INSIGHTS contient des insights sur toutes les recommandations BigQuery du projet en cours. BigQuery récupère les insights pour tous les types d'insights BigQuery à partir du Centre de recommandations et les présente dans cette vue. Les insights BigQuery sont toujours associés à une recommandation.

La vue INFORMATION_SCHEMA.INSIGHTS accepte les recommandations suivantes :

Autorisation requise

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

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

Schéma

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

Nom de la colonne Type de données Valeur
insight_id STRING ID encodé en base64 contenant le type et l'ID de l'insight
insight_type STRING Type de l'insight. Par exemple, google.bigquery.materializedview.Insight.
subtype STRING Sous-type de l'insight.
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 l'insight a été actualisé pour la dernière fois.
category STRING Catégorie d'optimisation de l'impact.
target_resources STRING Noms complets des ressources ciblées par cet insight.
state STRING État de l'insight. Pour obtenir la liste des valeurs possibles, consultez Valeur.
severity STRING Gravité de l'insight. Pour obtenir la liste des valeurs possibles, consultez la section Gravité.
associated_recommendation_ids STRING Noms complets des recommandations auxquelles cet insight est associé. Le nom de la recommandation correspond à la représentation encodée en base64 du type de l'outil de recommandation et de l'ID de la recommandation.
additional_details RECORD Informations supplémentaires sur l'insight.
  • content : contenu des insights au format JSON.
  • state_metadata : métadonnées sur l'état de l'insight. Contient des paires clé-valeur.
  • observation_period_seconds : période d'observation pour la génération de l'insight.

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.INSIGHTS[_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.INSIGHTS
    Remplacez les éléments suivants :

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

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

    Afficher des insights actifs avec des économies

    L'exemple suivant joint la vue "Insights" à la vue "Recommandations" pour renvoyer trois recommandations pour les insights qui sont ACTIFS dans la catégorie "COÛT" :

    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;
    
    

    Le résultat ressemble à ce qui suit :

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