Ce document explique comment obtenir des informations ou des métadonnées sur des vues dans BigQuery.
Vous pouvez obtenir des métadonnées sur les vues avec les méthodes suivantes :
- En utilisant Cloud Console
- Exécuter la commande
bq show
de l'outil de ligne de commandebq
- En appelant la méthode API
tables.get
- Utiliser les bibliothèques clientes
- En interrogeant les vues
INFORMATION_SCHEMA
(version bêta)
Autorisations requises
Pour obtenir des informations sur les vues, vous devez au minimum disposer des autorisations bigquery.tables.get
. Les rôles IAM prédéfinis suivants incluent les autorisations bigquery.tables.get
:
bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataOwner
bigquery.dataEditor
bigquery.admin
En outre, si un utilisateur possède les autorisations bigquery.datasets.create
, il obtient également un accès bigquery.dataOwner
à ou aux ensembles de données qu'il crée.
L'accès correspondant au rôle bigquery.dataOwner
permet à l'utilisateur d'obtenir des informations sur les vues de l'ensemble de données.
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 une vue
Le processus permettant d'obtenir des informations sur les vues est le même que pour les tables.
Pour obtenir des informations sur les vues, procédez comme suit :
Console
Développez votre ensemble de données.
Cliquez sur le nom de la vue.
Cliquez sur Details (Détails). L'onglet Details (Détails) affiche la description de la vue, ses informations et la requête SQL qui la définit.
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 une vue se trouvant dans 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]:[DATASET]
.
bq show \ --format=prettyjson \ project_id:dataset.view
Où :
- project_id est l'ID de votre projet.
- dataset est le nom de l'ensemble de données.
- view est le nom de la vue.
Exemples :
Saisissez la commande suivante pour afficher des informations sur myview
dans l'ensemble de données mydataset
de votre projet par défaut.
bq show --format=prettyjson mydataset.myview
Saisissez la commande suivante pour afficher des informations sur myview
dans l'ensemble de données mydataset
de myotherproject
.
bq show --format=prettyjson myotherproject:mydataset.myview
API
Appelez la méthode tables.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 VIEWS
Lorsque vous interrogez la vue INFORMATION_SCHEMA.VIEWS
, les résultats de la requête contiennent une ligne pour chaque vue d'un ensemble de données.
La vue INFORMATION_SCHEMA.VIEWS
présente le schéma suivant :
Nom de la colonne | Type de données | Valeur |
---|---|---|
TABLE_CATALOG |
STRING |
Nom du projet qui contient l'ensemble de données |
TABLE_SCHEMA |
STRING |
Nom de l'ensemble de données contenant la vue, également appelé id de l'ensemble de données |
TABLE_NAME |
STRING |
Nom de la vue, également appelé id de la table |
VIEW_DEFINITION |
STRING |
Requête SQL qui définit la vue |
CHECK_OPTION |
STRING |
La valeur renvoyée est toujours NULL |
USE_STANDARD_SQL |
STRING |
YES si la vue a été créée à l'aide d'une requête en SQL standard ; NO si useLegacySql est défini sur true |
Exemples
Exemple 1 :
L'exemple suivant récupère toutes les colonnes de la vue INFORMATION_SCHEMA.VIEWS
, à l'exception de check_option
qui est réservée en vue d'une utilisation ultérieure. Les métadonnées renvoyées concernent toutes les vues de mydataset
dans votre 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`.dataset.INFORMATION_SCHEMA.view
. Par exemple : `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
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(check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS
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(check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS'
Les résultats doivent se présenter sous la forme suivante :
+----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | table_catalog | table_schema | table_name | view_definition | use_standard_sql | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | myproject | mydataset | myview | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
Notez que les résultats montrent que cette vue a été créée à l'aide d'une requête en ancien SQL.
Exemple 2 :
L'exemple suivant récupère la requête SQL et la syntaxe de requête utilisées pour définir myview
dans mydataset
dans votre 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`.dataset.INFORMATION_SCHEMA.view
. Par exemple : `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
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 table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name="myview"
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 table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name="myview"'
Les résultats doivent se présenter sous la forme suivante :
+---------------+---------------------------------------------------------------+------------------+
| table_name | view_definition | use_standard_sql |
+---------------+---------------------------------------------------------------+------------------+
| myview | SELECT column1, column2, column3 FROM mydataset.mytable
| YES |
+---------------+---------------------------------------------------------------+------------------+
Notez que les résultats montrent que cette vue a été créée à l'aide d'une requête en SQL standard.
Étapes suivantes
- Pour en savoir plus sur la création de vues, consultez la page Créer des vues.
- Pour en savoir plus sur la création de vues autorisées, consultez la page Créer des vues autorisées.
- Pour savoir comment répertorier les vues, consultez la page Répertorier des vues.
- Pour en savoir plus sur la mise à jour de vues, consultez la page Mettre à jour les vues.
- Pour en savoir plus sur la gestion des vues, consultez la page Gérer les vues.
- Pour obtenir une présentation de
INFORMATION_SCHEMA
, consultez la page Présentation de BigQueryINFORMATION_SCHEMA
.