Introduzione a INFORMATION_SCHEMA
Le viste INFORMATION_SCHEMA di BigQuery ti consentono di recuperare i metadati relativi ai tuoi oggetti BigQuery. Puoi eseguire query su queste viste di sola lettura definite dal sistema per analizzare risorse come set di dati, job e controllo degli accessi.
In BigQuery, esegui query sulle visualizzazioni INFORMATION_SCHEMA utilizzando GoogleSQL specificando un ambito e una visualizzazione. Ad esempio, per ottenere i metadati per le tabelle di un set di dati, specifica myDataset.INFORMATION_SCHEMA.TABLES.
La tabella seguente elenca le visualizzazioni disponibili:
† Per le visualizzazioni *BY_PROJECT, il suffisso BY_PROJECT è facoltativo. Ad esempio, le query INFORMATION_SCHEMA.JOBS_BY_PROJECT e INFORMATION_SCHEMA.JOBS restituiscono gli stessi risultati.
Prezzi
Per i progetti che utilizzano i prezzi on demand, le query sulle viste INFORMATION_SCHEMA comportano un addebito minimo per il trattamento dati di 10 MB, anche se i byte elaborati dalla query sono inferiori a 10 MB. 10 MB è l'importo minimo di fatturazione per le query on demand. Per saperne di più, consulta i prezzi on demand.
Per i progetti che utilizzano i prezzi basati sulla capacità, le query su viste e tabelle INFORMATION_SCHEMA consumano gli slot BigQuery acquistati. Per saperne di più, consulta i prezzi basati sulla capacità.
Poiché le query INFORMATION_SCHEMA non vengono memorizzate nella cache, ti viene addebitato un importo ogni volta che esegui una query INFORMATION_SCHEMA, anche se il testo della query è lo stesso ogni volta che la esegui.
Non ti vengono addebitate tariffe di archiviazione per le visualizzazioni INFORMATION_SCHEMA.
Sintassi
Una vista INFORMATION_SCHEMA deve essere qualificata con un set di dati o una regione.
Qualificatore del set di dati
Se presente, un qualificatore del set di dati limita i risultati al set di dati specificato. Ad esempio:
-- Returns metadata for tables in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;
Le seguenti visualizzazioni INFORMATION_SCHEMA supportano i qualificatori dei set di dati:
COLUMNSCOLUMN_FIELD_PATHSMATERIALIZED_VIEWSPARAMETERSPARTITIONSROUTINESROUTINE_OPTIONSTABLESTABLE_OPTIONSVIEWS
Qualificatore regione
I qualificatori di regione sono rappresentati utilizzando una sintassi region-REGION.
Per REGION è possibile utilizzare qualsiasi nome della località del set di dati. Ad esempio, i seguenti qualificatori di regione sono validi:
region-usregion-asia-east2region-europe-north1
Se presente, un qualificatore di regione limita i risultati alla località specificata.
I qualificatori delle regioni non sono gerarchici, il che significa che la multi-regione EU non include le regioni europe-*, né la multi-regione US include le regioni us-*. Ad esempio, la seguente query restituisce i metadati per tutti i set di dati nella località multiregionale US per il progetto in cui viene eseguita la query, ma non include i set di dati nella regione us-west1:
-- Returns metadata for all datasets in the US multi-region. SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;
Le seguenti viste INFORMATION_SCHEMA non supportano i qualificatori di regione:
INFORMATION_SCHEMA.PARTITIONSINFORMATION_SCHEMA.SEARCH_INDEXESINFORMATION_SCHEMA.SEARCH_INDEX_COLUMNSINFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
Se non viene specificato né un qualificatore di regione né un qualificatore di set di dati, riceverai un errore.
Le query su una vista INFORMATION_SCHEMA con qualifica regionale vengono eseguite nella regione specificata, il che significa che non puoi scrivere una singola query per unire i dati delle viste in regioni diverse. Per combinare le visualizzazioni INFORMATION_SCHEMA di più regioni, leggi e combina i risultati delle query localmente o copia le tabelle risultanti in una regione comune.
Qualificatore progetto
Se presente, un qualificatore di progetto limita i risultati al progetto specificato. Ad esempio:
-- 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;
Tutte le visualizzazioni INFORMATION_SCHEMA supportano i qualificatori di progetto. Se non viene specificato un qualificatore di progetto, la visualizzazione verrà impostata per impostazione predefinita sul progetto in cui viene eseguita la query.
La specifica di un qualificatore di progetto per le visualizzazioni a livello di organizzazione (ad esempio STREAMING_TIMELINE_BY_ORGANIZATION) non ha alcun impatto sui risultati.
Limitazioni
- Le query BigQuery
INFORMATION_SCHEMAdevono essere in sintassi GoogleSQL.INFORMATION_SCHEMAnon supporta l'SQL precedente. - I risultati delle query
INFORMATION_SCHEMAnon vengono memorizzati nella cache. - Le viste
INFORMATION_SCHEMAnon possono essere utilizzate nelle istruzioni DDL. - Le viste
INFORMATION_SCHEMAnon contengono informazioni sui set di dati nascosti. - Le query
INFORMATION_SCHEMAcon qualificatori di regione potrebbero includere metadati delle risorse in quella regione provenienti da set di dati eliminati che rientrano nella finestra temporale di viaggio nel tempo. - Quando elenchi le risorse da una vista
INFORMATION_SCHEMA, le autorizzazioni vengono controllate solo a livello principale, non a livello di singola riga. Pertanto, qualsiasi policy di negazione che ha come target condizionale una singola riga utilizzando i tag viene ignorata.