Obtenir des métadonnées d'ensemble de données à l'aide de INFORMATION_SCHEMA

INFORMATION_SCHEMA est une série de vues offrant un accès aux métadonnées sur les ensembles de données, les tables et les vues.

Vous pouvez interroger les vues INFORMATION_SCHEMA.SCHEMATA et INFORMATION_SCHEMA.SCHEMATA_OPTIONS pour récupérer des métadonnées sur les ensembles de données d'un projet.

Autorisations requises

Pour obtenir des informations sur les métadonnées d'un ensemble de données, vous devez disposer du rôle READER au niveau de l'ensemble de données ou détenir au niveau du projet un rôle IAM qui comprend les autorisations bigquery.datasets.get. Tous les rôles IAM prédéfinis au niveau du projet incluent les autorisations bigquery.datasets.get, à l'exception de bigquery.jobUser.

Pour en savoir plus sur les autorisations et les rôles IAM dans BigQuery, consultez la page Contrôle des accès. Pour en savoir plus sur les rôles au niveau des ensembles de données, consultez la section Rôles primitifs pour les ensembles de données.

Vue SCHEMATA

Lorsque vous interrogez la vue INFORMATION_SCHEMA.SCHEMATA, les résultats de la requête contiennent une ligne pour chaque ensemble de données d'un projet auquel l'utilisateur actuel a accès.

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

Nom de la colonne Type de données Valeur
CATALOG_NAME STRING Nom du projet qui contient l'ensemble de données
SCHEMA_NAME STRING Nom de l'ensemble de données (également appelé datasetId)
SCHEMA_OWNER STRING La valeur est toujours NULL.
CREATION_TIME TIMESTAMP Date/Heure de création de l'ensemble de données
LAST_MODIFIED_TIME TIMESTAMP Date/Heure de la dernière modification de l'ensemble de données
LOCATION STRING Emplacement géographique de l'ensemble de données

Exemples

L'exemple suivant récupère toutes les colonnes de la vue INFORMATION_SCHEMA.SCHEMATA, à l'exception de schema_owner qui est réservée en vue d'une utilisation ultérieure. Les métadonnées renvoyées concernent tous les ensembles de données du projet par défaut (myproject).

Pour exécuter la requête sur un projet autre que celui par défaut, ajoutez l'ID du projet à l'ensemble de données, en respectant le format suivant : `[PROJECT_ID]`.INFORMATION_SCHEMA.[VIEW] , par exemple `myproject`.INFORMATION_SCHEMA.SCHEMATA.

Pour exécuter la requête, procédez comme suit :

Console

  1. Ouvrez l'interface utilisateur Web de BigQuery dans la console GCP.

    Accéder à l'UI Web de BigQuery

  2. Saisissez la requête SQL standard suivante dans la zone Éditeur de requête. INFORMATION_SCHEMA requiert la syntaxe SQL standard. Le langage SQL standard est la syntaxe par défaut dans la console GCP.

    SELECT
     * EXCEPT(schema_owner)
    FROM
     INFORMATION_SCHEMA.SCHEMATA
    
  3. Cliquez sur Exécuter.

Ligne de commande

Exécutez la commande query, puis spécifiez la syntaxe SQL standard à l'aide de l'indicateur --nouse_legacy_sql ou --use_legacy_sql=false. La syntaxe SQL standard est requise pour les requêtes INFORMATION_SCHEMA.

Pour exécuter la requête, saisissez la commande suivante :

bq query --nouse_legacy_sql \
'SELECT * EXCEPT(schema_owner) FROM INFORMATION_SCHEMA.SCHEMATA'

Les résultats doivent se présenter sous la forme suivante :

  +----------------+---------------+---------------------+---------------------+-----------------+
  |  catalog_name  |  schema_name  |    creation_time    | last_modified_time  |    location     |
  +----------------+---------------+---------------------+---------------------+-----------------+
  | myproject      | mydataset1    | 2018-11-07 19:50:24 | 2018-11-07 19:50:24 | US              |
  | myproject      | mydataset2    | 2018-07-16 04:24:22 | 2018-07-16 04:24:22 | US              |
  | myproject      | mydataset3    | 2018-02-07 21:08:45 | 2018-05-01 23:32:53 | asia-northeast1 |
  +----------------+---------------+---------------------+---------------------+-----------------+
  

Vue SCHEMATA_OPTIONS

Lorsque vous interrogez la vue INFORMATION_SCHEMA.SCHEMATA_OPTIONS, les résultats de la requête contiennent une ligne pour chaque ensemble de données d'un projet auquel l'utilisateur actuel a accès.

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

Nom de la colonne Type de données Valeur
CATALOG_NAME STRING Nom du projet qui contient l'ensemble de données
SCHEMA_NAME STRING Nom de l'ensemble de données (également appelé datasetId)
OPTION_NAME STRING Une des valeurs de nom figurant dans la table d'options
OPTION_TYPE STRING Une des valeurs de type de données figurant dans la table d'options
OPTION_VALUE STRING Une des options de valeur figurant dans la table d'options
Table d'options
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_table_expiration_days FLOAT64 Durée de vie par défaut, en jours, de toutes les tables de l'ensemble de données
friendly_name STRING Nom descriptif de l'ensemble de données
description STRING Description de l'ensemble de données
labels ARRAY<STRUCT<STRING, STRING>> Tableau de valeurs STRUCT représentant les étiquettes de l'ensemble de données

Exemples

Exemple 1 :

L'exemple suivant récupère les délais d'expiration de table par défaut pour tous les ensembles de données de votre projet par défaut (myproject) en interrogeant la vue INFORMATION_SCHEMATA.SCHEMATA_OPTIONS.

Pour exécuter la requête sur un projet autre que celui par défaut, ajoutez l'ID du projet à l'ensemble de données, en respectant le format suivant : `[PROJECT_ID]`.INFORMATION_SCHEMA.[VIEW] , par exemple `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

Pour exécuter la requête, procédez comme suit :

Console

  1. Ouvrez l'interface utilisateur Web de BigQuery dans la console GCP.

    Accéder à l'UI Web de BigQuery

  2. Saisissez la requête SQL standard suivante dans la zone Éditeur de requête. INFORMATION_SCHEMA requiert la syntaxe SQL standard. Le langage SQL standard est la syntaxe par défaut dans la console GCP.

    SELECT
     *
    FROM
     INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    WHERE
     option_name="default_table_expiration_days"
    
  3. Cliquez sur Exécuter.

Ligne de commande

Exécutez la commande query, puis spécifiez la syntaxe SQL standard à l'aide de l'indicateur --nouse_legacy_sql ou --use_legacy_sql=false. La syntaxe SQL standard est requise pour les requêtes INFORMATION_SCHEMA.

Pour exécuter la requête, saisissez la commande suivante :

bq query --nouse_legacy_sql \
'SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE option_name="default_table_expiration_days"'

Les résultats doivent se présenter sous la forme suivante :

  +----------------+---------------+-------------------------------+-------------+---------------------+
  |  catalog_name  |  schema_name  |          option_name          | option_type |    option_value     |
  +----------------+---------------+-------------------------------+-------------+---------------------+
  | myproject      | mydataset3    | default_table_expiration_days | FLOAT64     | 0.08333333333333333 |
  | myproject      | mydataset2    | default_table_expiration_days | FLOAT64     | 90.0                |
  | myproject      | mydataset1    | default_table_expiration_days | FLOAT64     | 30.0                |
  +----------------+---------------+-------------------------------+-------------+---------------------+
  

Exemple 2 :

L'exemple suivant récupère les étiquettes de tous les ensembles de données de votre projet par défaut (myproject) en interrogeant la vue INFORMATION_SCHEMATA.SCHEMATA_OPTIONS.

Pour exécuter la requête sur un projet autre que celui par défaut, ajoutez l'ID du projet à l'ensemble de données, en respectant le format suivant : `[PROJECT_ID]`.INFORMATION_SCHEMA.[VIEW] , par exemple `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

Pour exécuter la requête, procédez comme suit :

Console

  1. Ouvrez l'interface utilisateur Web de BigQuery dans la console GCP.

    Accéder à l'UI Web de BigQuery

  2. Saisissez la requête SQL standard suivante dans la zone Éditeur de requête. INFORMATION_SCHEMA requiert la syntaxe SQL standard. Le langage SQL standard est la syntaxe par défaut dans la console GCP.

    SELECT
     *
    FROM
     INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    WHERE
     option_name="labels"
    
  3. Cliquez sur Exécuter.

Ligne de commande

Exécutez la commande query, puis spécifiez la syntaxe SQL standard à l'aide de l'indicateur --nouse_legacy_sql ou --use_legacy_sql=false. La syntaxe SQL standard est requise pour les requêtes INFORMATION_SCHEMA.

Pour exécuter la requête, saisissez la commande suivante :

bq query --nouse_legacy_sql \
'SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE option_name="labels"'

Les résultats doivent se présenter sous la forme suivante :

  +----------------+---------------+-------------+---------------------------------+------------------------+
  |  catalog_name  |  schema_name  | option_name |          option_type            |      option_value      |
  +----------------+---------------+-------------+---------------------------------+------------------------+
  | myproject      | mydataset1    | labels      | ARRAY<STRUCT<STRING, STRING>>   | [STRUCT("org", "dev")] |
  | myproject      | mydataset2    | labels      | ARRAY<STRUCT<STRING, STRING>>   | [STRUCT("org", "dev")] |
  +----------------+---------------+-------------+---------------------------------+------------------------+
  

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.