Présentation de INFORMATION_SCHEMA
Les vues BigQuery INFORMATION_SCHEMA
sont des vues en lecture seule définies par le système qui fournissent des informations de métadonnées sur vos objets BigQuery. Le tableau suivant répertorie toutes les vues INFORMATION_SCHEMA
que vous pouvez interroger pour récupérer des informations de métadonnées :
† Pour les vues *BY_PROJECT
, le suffixe BY_PROJECT
est facultatif. Par exemple, l'interrogation de INFORMATION_SCHEMA.JOBS_BY_PROJECT
et de INFORMATION_SCHEMA.JOBS
renvoie les mêmes résultats.
Tarifs
Pour les projets appliquant la tarification à la demande, les requêtes exécutées sur les vues INFORMATION_SCHEMA
engendrent des frais de traitement de données de 10 Mo minimum, même si le nombre d'octets traités par la requête est inférieur à cette valeur. Il s'agit du montant minimal de facturation pour les requêtes à la demande. Pour en savoir plus, consultez la section Tarifs à la demande.
Pour les projets qui utilisent la tarification basée sur la capacité, les requêtes portant sur des vues et des tables INFORMATION_SCHEMA
consomment les emplacements BigQuery achetés. Pour en savoir plus, consultez la section Tarification basée sur la capacité.
Étant donné que les requêtes INFORMATION_SCHEMA
ne sont pas mises en cache, des frais vous sont facturés chaque fois que vous exécutez une requête INFORMATION_SCHEMA
, même si le texte de la requête est identique à chaque exécution.
Vous ne payez pas de frais de stockage pour les vues INFORMATION_SCHEMA
.
Syntaxe
Une vue INFORMATION_SCHEMA
doit être qualifiée avec un ensemble de données ou une région.
Qualificatif d'ensemble de données
Lorsqu'un qualificatif d'ensemble de données est présent, il limite les résultats à l'ensemble de données spécifié. Par exemple :
-- Returns metadata for tables in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;
Les vues INFORMATION_SCHEMA
suivantes sont compatibles avec les qualificatifs d'ensemble de données :
COLUMNS
COLUMN_FIELD_PATHS
MATERIALIZED_VIEWS
PARAMETERS
PARTITIONS
ROUTINES
ROUTINE_OPTIONS
TABLES
TABLE_OPTIONS
VIEWS
Qualificatif de région
Les qualificatifs de région sont représentés à l'aide d'une syntaxe region-REGION
.
Tout nom d'emplacement d'ensemble de données peut être utilisé pour REGION
. Par exemple, les qualificatifs de région suivants sont valides :
region-us
region-asia-east2
region-europe-north1
Lorsqu'un qualificatif de région est présent, il limite les résultats à l'emplacement spécifié. Par exemple, la requête suivante renvoie les métadonnées de tous les ensembles de données d'un projet dans l'emplacement multirégional US
:
-- Returns metadata for all datasets in a region. SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;
Les vues INFORMATION_SCHEMA
suivantes ne sont pas compatibles avec les qualificatifs de région :
INFORMATION_SCHEMA.PARTITIONS
INFORMATION_SCHEMA.SEARCH_INDEXES
INFORMATION_SCHEMA.SEARCH_INDEX_COLUMNS
INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
Si aucun qualificatif de région ni aucun qualificatif d'ensemble de données ne sont spécifiés, une erreur est renvoyée.
Les requêtes exécutées sur une vue INFORMATION_SCHEMA
qualifiée par région s'exécutent dans la région que vous spécifiez. Par conséquent, vous ne pouvez pas écrire une seule requête pour joindre les données de vues dans différentes régions. Pour combiner des vues INFORMATION_SCHEMA
de plusieurs régions, écrivez les résultats de vos requêtes dans des tables, puis copiez vos tables ou déplacez vos ensembles de données vers une région commune.
Qualificatif de projet
Lorsqu'un qualificatif de projet est présent, il limite les résultats au projet spécifié. Par exemple :
-- Returns metadata for the specified project and region.
SELECT * FROM myProject.`region-us`.INFORMATION_SCHEMA.TABLES;
-- Returns metadata for the specified project and dataset.
SELECT * FROM myProject.myDataset.INFORMATION_SCHEMA.TABLES;
Toutes les vues INFORMATION_SCHEMA
sont compatibles avec les qualificatifs de projet. Si un qualificatif de projet n'est pas spécifié, la vue est définie par défaut sur le projet dans lequel la requête est exécutée.
La spécification d'un qualificatif de projet pour les vues au niveau de l'organisation (par exemple, STREAMING_TIMELINE_BY_ORGANIZATION
) n'a aucun impact sur les résultats.
Limites
- La syntaxe des requêtes BigQuery
INFORMATION_SCHEMA
doit être en GoogleSQL.INFORMATION_SCHEMA
n'est pas compatible avec l'ancien SQL. - Les résultats de requêtes
INFORMATION_SCHEMA
ne sont pas mis en cache. - Les vues
INFORMATION_SCHEMA
ne peuvent pas être utilisées dans des instructions LDD. - Les vues
INFORMATION_SCHEMA
ne contiennent pas d'informations sur les ensembles de données masqués. - Les requêtes
INFORMATION_SCHEMA
avec des qualificatifs de région peuvent inclure des métadonnées provenant des ressources de cette région à partir d'ensembles de données supprimés qui se trouvent dans votre fenêtre de fonctionnalité temporelle. - Lorsque vous listez des ressources à partir d'une vue
INFORMATION_SCHEMA
, les autorisations ne sont vérifiées qu'au niveau du parent, et non au niveau d'une ligne individuelle. Par conséquent, toute règle de refus (aperçu) qui cible de manière conditionnelle une ligne individuelle à l'aide de tags est ignorée.