Introduzione alle origini dati esterne
Questa pagina fornisce una panoramica dell'esecuzione di query sui dati archiviati al di fuori di BigQuery.
Un'origine dati esterna è un'origine dati in cui puoi eseguire query direttamente da BigQuery, anche se i dati non vengono archiviati in BigQuery. Ad esempio, potresti avere dati in un database Google Cloud diverso, in file in Cloud Storage o in un prodotto cloud diverso che vorresti analizzare in BigQuery, ma non avere ancora la possibilità di eseguire una migrazione.
Ecco alcuni casi d'uso per le origini dati esterne:
- Per i carichi di lavoro ELT (estrazione, trasformazione e caricamento), caricamento ed eliminazione dei dati
in un solo passaggio e scrittura del risultato nello spazio di archiviazione
BigQuery tramite una query
CREATE TABLE ... AS SELECT
. - Unione di tabelle BigQuery con dati che cambiano spesso di un'origine dati esterna. Se esegui una query direttamente sull'origine dati esterna, non devi ricaricare i dati nello spazio di archiviazione BigQuery ogni volta che viene modificata.
BigQuery prevede due diversi meccanismi per interrogare i dati esterni: tabelle esterne e query federate.
Tabelle esterne
Le tabelle esterne sono simili alle tabelle BigQuery standard, poiché queste tabelle archiviano i relativi metadati e lo schema nello spazio di archiviazione di BigQuery. Tuttavia, i loro dati risiedono in un'origine esterna.
Le tabelle esterne sono contenute in un set di dati e puoi gestirle nello stesso modo in cui gestisci una tabella BigQuery standard. Ad esempio, puoi visualizzare le proprietà della tabella, impostare i controlli di accesso e così via. Puoi eseguire query su queste tabelle e nella maggior parte dei casi unirle ad altre tabelle.
Esistono tre tipi di tabelle esterne:
- Tabelle BigLake
- Tabelle degli oggetti
- Tabelle esterne non BigLake
Tabelle BigLake
Le tabelle BigLake consentono di eseguire query su dati strutturati in datastore esterni con delega di accesso. La delega di accesso disaccoppia l'accesso alla tabella BigLake dall'accesso al datastore sottostante. Per connettersi al datastore viene utilizzata una connessione esterna associata a un account di servizio. Poiché l'account di servizio gestisce il recupero dei dati dal datastore, devi concedere agli utenti solo l'accesso alla tabella BigLake. In questo modo puoi applicare una sicurezza granulare a livello di tabella, inclusa la sicurezza a livello di riga e a livello di colonna. Per le tabelle BigLake basate su Cloud Storage, puoi anche utilizzare il mascheramento dinamico dei dati. Per scoprire di più sulle soluzioni di analisi multi-cloud che utilizzano le tabelle BigLake con i dati di Amazon S3 o di archiviazione BLOB, consulta BigQuery Omni.
Per ulteriori informazioni, consulta Introduzione alle tabelle BigLake.
Tabelle degli oggetti
Le tabelle degli oggetti consentono di analizzare dati non strutturati in Cloud Storage. Puoi eseguire analisi con funzioni remote o eseguire l'inferenza utilizzando BigQuery ML e poi unire i risultati di queste operazioni al resto dei dati strutturati in BigQuery.
Come le tabelle BigLake, le tabelle degli oggetti utilizzano la delega di accesso, che disaccoppia l'accesso alla tabella degli oggetti dall'accesso agli oggetti Cloud Storage. Una connessione esterna associata a un account di servizio viene utilizzata per connettersi a Cloud Storage, quindi devi concedere agli utenti solo l'accesso alla tabella degli oggetti. In questo modo puoi applicare la sicurezza a livello di riga e gestire gli oggetti a cui gli utenti hanno accesso.
Per ulteriori informazioni, consulta Introduzione alle tabelle degli oggetti.
Tabelle esterne non BigLake
Le tabelle esterne non BigLake consentono di eseguire query su dati strutturati in datastore esterni. Per eseguire query su una tabella esterna non BigLake, devi disporre delle autorizzazioni sia per la tabella esterna sia per l'origine dati esterna. Ad esempio, per eseguire query su una tabella esterna non BigLake che utilizza un'origine dati in Cloud Storage, devi disporre delle seguenti autorizzazioni:
bigquery.tables.getData
bigquery.jobs.create
storage.buckets.get
storage.objects.get
Per ulteriori informazioni, consulta Introduzione alle tabelle esterne.
Query federate
Le query federate consentono di inviare un'istruzione di query ai database Spanner o Cloud SQL e di restituire il risultato come tabella temporanea. Le query federate utilizzano l'API BigQuery Connection per stabilire una connessione con Spanner o Cloud SQL.
Nella query, utilizzerai la funzione EXTERNAL_QUERY
per inviare un'istruzione di query al database esterno, utilizzando il dialetto SQL di quel database.
I risultati vengono convertiti in tipi di dati GoogleSQL.
Per ulteriori informazioni, consulta Introduzione alle query federate.
Confronto delle funzionalità dell'origine dati esterna
La tabella seguente confronta il comportamento delle origini dati esterne:
Tabelle BigLake | Tabelle di oggetti | Tabelle esterne non BigLake | Query federate | |
---|---|---|---|---|
Utilizza la delega di accesso | Sì, tramite un account di servizio | Sì, tramite un account di servizio | No | Sì, tramite un account utente del database (solo Cloud SQL) |
Può basarsi su più URI di origine | Sì | Sì | Sì (solo Cloud Storage) | Non applicabile |
Mappatura delle righe | Le righe rappresentano i contenuti del file | Le righe rappresentano i metadati dei file | Le righe rappresentano i contenuti del file | Non applicabile |
Accessibile da altri strumenti di elaborazione dati tramite i connettori | Sì (solo Cloud Storage) | No | Sì | Non applicabile |
Possono essere uniti ad altre tabelle BigQuery | Sì (solo Cloud Storage) | Sì | Sì | Sì |
Accesso come tabella temporanea | Sì (solo Cloud Storage) | No | Sì | Sì |
Compatibile con Amazon S3 | Yes | No | No | No |
Compatibile con Archiviazione di Azure | Yes | No | No | No |
Compatibile con Bigtable | No | No | Yes | No |
Funziona con Spanner | No | No | No | Yes |
Compatibile con Cloud SQL | No | No | No | Yes |
Funziona con Google Drive | No | No | Yes | No |
Compatibile con Cloud Storage | Yes | Yes | Yes | No |
Passaggi successivi
- Scopri di più sulle tabelle BigLake.
- Scopri di più sulle tabelle degli oggetti
- Scopri di più sulle tabelle esterne.
- Scopri di più sulle query federate.
- Ulteriori informazioni sui prezzi di BigQuery.