Introduzione alle viste logiche
Una vista logica è una tabella virtuale definita da una query SQL ed è il tipo di vista predefinito in BigQuery. Le viste logiche ti consentono di riutilizzare query complesse e semplificare la logica di calcolo e join. Con le viste autorizzate, puoi anche concedere agli utenti l'accesso a un sottoinsieme di dati senza concedere l'accesso alle tabelle di base.
Poiché la query che definisce una vista logica viene eseguita ogni volta che viene eseguita una query sulla vista, i risultati contengono solo i dati correnti delle tabelle e dei campi specificati dalla query. Questo documento descrive i casi d'uso comuni e le limitazioni, le quote, i prezzi e la sicurezza delle viste logiche.
Casi d'uso
I casi d'uso comuni per le visualizzazioni includono:
- Fornisci un nome riutilizzabile per una query complessa o un insieme limitato di dati a cui puoi autorizzare l'accesso di altri utenti. Dopo aver creato una vista, un utente può eseguire una query sulla vista come farebbe su una tabella.
- Astrarre e archiviare la logica di calcolo e join in un oggetto comune per semplificare l'utilizzo delle query.
- Fornire l'accesso a un sottoinsieme di dati e alla logica di calcolo senza fornire l'accesso alle tabelle di base.
- Ottimizza le query con un costo di calcolo elevato e risultati di set di dati di piccole dimensioni per diversi casi d'uso.
Puoi anche utilizzare le viste in altri contesti:
- Come origine dati per uno strumento di visualizzazione come Data Studio.
- Come mezzo per condividere i dati con gli iscritti a BigQuery sharing (in precedenza Analytics Hub).
Per un confronto tra viste logiche, viste materializzate e viste autorizzate, consulta Panoramica delle viste logiche e materializzate.
Limitazioni delle viste logiche
Le viste BigQuery sono soggette alle seguenti limitazioni:
- Le visualizzazioni sono di sola lettura. Ad esempio, non puoi eseguire query che inseriscono, aggiornano o eliminano dati.
- Se la vista fa riferimento a tabelle di località remote, devi abilitare le query globali prima di creare la vista.
- Un riferimento all'interno di una vista deve essere qualificato con un set di dati. Il set di dati predefinito non influisce sul corpo della vista.
- Non puoi utilizzare il metodo dell'API JSON
TableDataListper recuperare i dati da una vista. Per saperne di più, consulta Tabledata: list. - Non puoi combinare query GoogleSQL e SQL precedente quando utilizzi le viste. Una query GoogleSQL non può fare riferimento a una vista definita utilizzando la sintassi SQL precedente.
- Non puoi fare riferimento ai parametri di query nelle viste.
- Gli schemi delle tabelle sottostanti vengono archiviati con la vista al momento della creazione della vista. Se le colonne vengono aggiunte, eliminate o modificate dopo la creazione della vista, quest'ultima non viene aggiornata automaticamente e lo schema segnalato rimarrà impreciso finché non viene modificata la definizione SQL della vista o non viene ricreata la vista. Anche se lo schema riportato potrebbe essere impreciso, tutte le query inviate producono risultati accurati.
- Non puoi aggiornare automaticamente una vista SQL precedente alla sintassi GoogleSQL. Per modificare la query utilizzata per definire una vista, puoi utilizzare quanto segue:
- L'opzione Modifica query nella console Google Cloud
- Il comando
bq update --viewnello strumento a riga di comando bq - Le librerie client di BigQuery
- I metodi API update o patch.
- Non puoi includere una funzione definita dall'utente temporanea o una tabella temporanea nella query SQL che definisce una vista.
- Non puoi fare riferimento a una vista in una query di una tabella con funzione carattere jolly.
- Le viste logiche non possono ereditare o definire esplicitamente
tipi di dati parametrizzati,
come
STRING(n), poiché i tipi di dati parametrizzati sono supportati solo per le colonne della tabella di base e le variabili di script.
Quote per le viste logiche
Per informazioni su quote e limiti che si applicano alle visualizzazioni, consulta Limiti delle visualizzazioni. Anche le query SQL utilizzate per definire le viste sono soggette alle quote sui job di query.
Prezzi delle viste logiche
BigQuery utilizza le viste logiche per impostazione predefinita, non le viste materializzate. Poiché le viste non vengono materializzate per impostazione predefinita, la query che definisce la vista viene eseguita ogni volta che viene eseguita una query sulla vista. Le query vengono fatturate in base alla quantità totale di dati in tutti i campi della tabella a cui fa riferimento direttamente o indirettamente la query di primo livello.
- Per i prezzi delle query generali, consulta Prezzi di computing on demand.
- Per i prezzi associati alle viste materializzate, consulta Prezzi delle viste materializzate.
Sicurezza delle viste logiche
Per controllare l'accesso alle viste in BigQuery, consulta Viste autorizzate.
Passaggi successivi
- Per informazioni sulla creazione di viste, consulta Creazione di viste.
- Per informazioni sulla creazione di una vista autorizzata, consulta Creazione di viste autorizzate.
- Per informazioni su come ottenere i metadati delle viste, consulta Recupero di informazioni sulle viste.
- Per saperne di più sulla gestione delle visualizzazioni, consulta Gestione delle visualizzazioni.