Introduzione a INFORMATION_SCHEMA

Le viste INFORMATION_SCHEMA di BigQuery sono viste di sola lettura definite dal sistema che forniscono informazioni sui metadati sugli oggetti BigQuery. La tabella seguente elenca tutte le INFORMATION_SCHEMA viste su cui puoi eseguire query per recuperare le informazioni dei metadati:

Tipo di risorsa Visualizzazione INFORMATION_SCHEMA
Controllo dell'accesso OBJECT_PRIVILEGES
BI Engine BI_CAPACITIES
BI_CAPACITY_CHANGES
Configurazioni EFFECTIVE_PROJECT_OPTIONS
ORGANIZATION_OPTIONS
ORGANIZATION_OPTIONS_CHANGES
PROJECT_OPTIONS
PROJECT_OPTIONS_CHANGES
Set di dati SCHEMATA
SCHEMATA_LINKS
SCHEMATA_OPTIONS
SHARED_DATASET_USAGE
SCHEMATA_REPLICAS
Job JOBS_BY_PROJECT
JOBS_BY_USER
JOBS_BY_FOLDER
JOBS_BY_ORGANIZATION
Job per intervallo di tempo JOBS_TIMELINE_BY_PROJECT
JOBS_TIMELINE_BY_USER
JOBS_TIMELINE_BY_FOLDER
JOBS_TIMELINE_BY_ORGANIZATION
Prenotazioni ASSIGNMENTS_BY_PROJECT
ASSIGNMENT_CHANGES_BY_PROJECT
CAPACITY_COMMITMENTS_BY_PROJECT
CAPACITY_COMMITMENT_CHANGES_BY_PROJECT
RESERVATIONS_BY_PROJECT
RESERVATION_CHANGES_BY_PROJECT
RESERVATIONS_TIMELINE_BY_PROJECT
Routine PARAMETERS
ROUTINES
ROUTINE_OPTIONS
Cerca indici SEARCH_INDEXES
SEARCH_INDEX_COLUMNS
Sessioni SESSIONS_BY_PROJECT
SESSIONS_BY_USER
Dispositivi di streaming STREAMING_TIMELINE_BY_PROJECT
STREAMING_TIMELINE_BY_FOLDER
STREAMING_TIMELINE_BY_ORGANIZATION
Tabelle COLUMNS
COLUMN_FIELD_PATHS
CONSTRAINT_COLUMN_USAGE
KEY_COLUMN_USAGE
PARTITIONS
TABLES
TABLE_OPTIONS
TABLE_CONSTRAINTS
TABLE_SNAPSHOTS
TABLE_STORAGE_BY_PROJECT
TABLE_STORAGE_BY_ORGANIZATION
TABLE_STORAGE_USAGE_TIMELINE
TABLE_STORAGE_USAGE_TIMELINE_BY_ORGANIZATION
Indici vettoriali VECTOR_INDEXES
VECTOR_INDEX_COLUMNS
VECTOR_INDEX_OPTIONS
Viste VIEWS
MATERIALIZED_VIEWS
API Scrivi WRITE_API_TIMELINE_BY_PROJECT
WRITE_API_TIMELINE_BY_FOLDER
WRITE_API_TIMELINE_BY_ORGANIZATION

Per *BY_PROJECT visualizzazioni, il suffisso BY_PROJECT è facoltativo. Ad esempio, l'esecuzione di query su INFORMATION_SCHEMA.JOBS_BY_PROJECT e INFORMATION_SCHEMA.JOBS restituisce gli stessi risultati.

Prezzi

Per i progetti che utilizzano i prezzi on demand, le query sulle viste INFORMATION_SCHEMA comportano un addebito minimo di 10 MB per l'elaborazione dei dati, 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 ulteriori informazioni, vedi Prezzi on demand.

Per i progetti che utilizzano prezzi basati sulla capacità, le query su viste e tabelle INFORMATION_SCHEMA utilizzano gli slot BigQuery acquistati. Per ulteriori informazioni, consulta i prezzi basati sulla capacità.

Poiché le query INFORMATION_SCHEMA non vengono memorizzate nella cache, ti viene addebitato un costo ogni volta che esegui una query INFORMATION_SCHEMA, anche se il testo della query è lo stesso ogni volta che la esegui.

Non ti vengono addebitati i costi di archiviazione per le viste 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 INFORMATION_SCHEMA viste supportano i qualificatori dei set di dati:

  • COLUMNS
  • COLUMN_FIELD_PATHS
  • MATERIALIZED_VIEWS
  • PARAMETERS
  • PARTITIONS
  • ROUTINES
  • ROUTINE_OPTIONS
  • TABLES
  • TABLE_OPTIONS
  • VIEWS

Qualificatore regione

I qualificatori di regione sono rappresentati con una sintassi region-REGION. Per REGION è possibile utilizzare qualsiasi nome di località del set di dati. Ad esempio, i seguenti qualificatori di regione sono validi:

  • region-us
  • region-asia-east2
  • region-europe-north1

Se presente, un qualificatore della regione limita i risultati alla località specificata. Ad esempio, la seguente query restituisce i metadati per tutti i set di dati in un progetto nell'area multiregionale US:

-- Returns metadata for all datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;

Le seguenti INFORMATION_SCHEMA viste non supportano i qualificatori per le regioni:

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 per la regione vengono eseguite nella regione specificata, il che significa che non puoi scrivere una singola query per unire i dati provenienti da viste in regioni diverse. Per combinare le visualizzazioni INFORMATION_SCHEMA di più regioni, scrivi i risultati della query nelle tabelle e poi copia le tabelle o sposta i set di dati 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 INFORMATION_SCHEMA viste supportano i qualificatori del progetto. Se non viene specificato un qualificatore di progetto, la visualizzazione mostrerà per impostazione predefinita il progetto su cui viene eseguita la query.

La specifica di un qualificatore di progetto per le viste a livello di organizzazione (ad es. STREAMING_TIMELINE_BY_ORGANIZATION) non influisce sui risultati.

Limitazioni

  • Le query INFORMATION_SCHEMA di BigQuery devono essere in sintassi GoogleSQL. INFORMATION_SCHEMA non supporta SQL precedente.
  • I risultati della query INFORMATION_SCHEMA non vengono memorizzati nella cache.
  • Non è possibile utilizzare INFORMATION_SCHEMA viste nelle istruzioni DDL.
  • Le viste INFORMATION_SCHEMA non contengono informazioni sui set di dati nascosti.
  • Le query INFORMATION_SCHEMA con qualificatori di regione potrebbero includere metadati di risorse in quella regione provenienti da set di dati eliminati che rientrano nella finestra di spostamento cronologico.
  • Quando elenchi le risorse da una vista INFORMATION_SCHEMA, le autorizzazioni vengono controllate solo a livello padre, non a livello di singola riga. Pertanto, qualsiasi criterio di negazione (anteprima) che sceglie come target in modo condizionale una singola riga utilizzando i tag viene ignorato.