Ce document explique comment obtenir des informations ou des métadonnées sur des ensembles de données dans BigQuery.
Vous pouvez obtenir des informations sur les ensembles de données de plusieurs manières :
- En utilisant Cloud Console
- En utilisant la commande
bq show
de l'outil de ligne de commandebq
- En appelant la méthode API
datasets.get
- En interrogeant les vues
INFORMATION_SCHEMA
(version bêta) - En utilisant les bibliothèques clientes
Autorisations requises
Pour obtenir des informations ou des métadonnées sur un ensemble de données, vous devez au minimum disposer des autorisations bigquery.datasets.get
. Les rôles IAM prédéfinis suivants incluent les autorisations bigquery.datasets.get
:
bigquery.user
bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataOwner
bigquery.dataEditor
bigquery.admin
Pour en savoir plus sur les rôles et les autorisations IAM dans BigQuery, consultez la page Contrôle des accès.
Obtenir des informations sur les ensembles de données
Pour obtenir des informations sur les ensembles de données d'un projet, procédez comme suit :
Console
Cliquez sur le nom de l'ensemble de données dans le panneau Resources (Ressources). Sous l'Éditeur de requête, la description et les détails de l'ensemble de données devraient s'afficher. Les tables d'un ensemble de données sont imbriquées dans le panneau Resources (Ressources).
Par défaut, les ensembles de données anonymes sont masqués dans Cloud Console. Pour afficher des informations sur des ensembles de données anonymes, utilisez l'outil de ligne de commande bq
ou l'API.
bq
Exécutez la commande bq show
. L'option --format
peut être utilisée pour contrôler le résultat. Si vous souhaitez obtenir des informations sur un ensemble de données dans un projet autre que celui par défaut, ajoutez l'ID du projet au nom de l'ensemble de données, en respectant le format suivant : project_id:dataset
.
Pour afficher des informations sur un ensemble de données anonyme, exécutez la commande bq ls --all
pour répertorier tous les ensembles de données, puis utilisez le nom de l'ensemble de données anonyme dans la commande bq show
.
bq show --format=prettyjson project_id:dataset
Remplacez les éléments suivants :
- project_id est le nom de votre projet.
- dataset est le nom de l'ensemble de données.
Exemples :
Saisissez la commande suivante pour afficher des informations sur mydataset
dans votre projet par défaut :
bq show --format=prettyjson mydataset
Saisissez la commande suivante pour afficher des informations sur mydataset
dans myotherproject
.
bq show --format=prettyjson myotherproject:mydataset
Saisissez la commande suivante pour afficher des informations sur un ensemble de données anonyme _1234abcd56efgh78ijkl1234
dans votre projet par défaut :
bq show --format=prettyjson _1234abcd56efgh78ijkl1234
API
Appelez la méthode datasets.get
et définissez tous les paramètres pertinents.
Go
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Go décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery en langage Go.
Java
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Java décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery en langage Java.
Node.js
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Node.js décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery en langage Node.js.
Python
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Python décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery Python.
INFORMATION_SCHEMA
(version bêta)
INFORMATION_SCHEMA
est une série de vues donnant accès aux métadonnées sur des ensembles de données, des routines, des tables, des vues, des tâches, des réservations et des données de streaming.
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 au nom de 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 :
Console
Ouvrez la page "BigQuery" dans Cloud Console.
Saisissez la requête en 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 Cloud Console.SELECT * EXCEPT(schema_owner) FROM INFORMATION_SCHEMA.SCHEMATA
Cliquez sur Exécuter.
bq
Exécutez la commande query
, puis spécifiez la syntaxe SQL standard à l'aide de l'option --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 :
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 libellés 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 au nom de 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 :
Console
Ouvrez la page "BigQuery" dans Cloud Console.
Saisissez la requête en 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 Cloud Console.SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name="default_table_expiration_days"
Cliquez sur Exécuter.
bq
Exécutez la commande query
, puis spécifiez la syntaxe SQL standard à l'aide de l'option --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 :
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 libellés 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 au nom de 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 :
Console
Ouvrez la page "BigQuery" dans Cloud Console.
Saisissez la requête en 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 Cloud Console.SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name="labels"
Cliquez sur Exécuter.
bq
Exécutez la commande query
, puis spécifiez la syntaxe SQL standard à l'aide de l'option --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 :
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
- Pour en savoir plus sur la création d'ensembles de données, consultez la page Créer des ensembles de données.
- Pour en savoir plus sur l'attribution de contrôles d'accès aux ensembles de données, consultez la page Contrôler l'accès aux ensembles de données.
- Pour savoir comment répertorier les ensembles de données d'un projet, consultez la page Répertorier les ensembles de données.
- Pour en savoir plus sur la modification des propriétés d'un ensemble de données, consultez la page Mettre à jour des ensembles de données.
- Pour savoir comment créer et gérer des libellés, consultez la page sur la création et la gestion des libellés.
- Pour obtenir une présentation de
INFORMATION_SCHEMA
, consultez la page Présentation de BigQueryINFORMATION_SCHEMA
.