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 workload 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.

Tabelle delle origini dati esterne

Le tabelle delle origini dati esterne sono simili alle tabelle BigQuery standard, in quanto archiviano i metadati e lo schema nello spazio di archiviazione di BigQuery. Tuttavia, i dati risiedono in un'origine esterna.

Le tabelle delle origini dati esterne sono contenute all'interno di un set di dati e vengono gestite 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, puoi unirle ad altre tabelle.

Esistono tre tipi di tabelle di origini dati esterne:

  • Tabelle BigLake
  • Tabelle di oggetti
  • Tabelle esterne

Tabelle BigLake

Le tabelle BigLake ti consentono di eseguire query su dati strutturati in datastore esterni con delega di accesso. La delega dell'accesso separa 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é il account di servizio gestisce il recupero dei dati dal datastore, devi solo concedere agli utenti 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 tabelle BigLake con dati Amazon S3 o Blob Storage, consulta BigQuery Omni.

Per saperne di più, consulta Introduzione alle tabelle BigLake.

Tabelle di oggetti

Le tabelle di oggetti ti consentono di analizzare i dati non strutturati in Cloud Storage. Puoi eseguire l'analisi con funzioni remote o l'inferenza utilizzando BigQuery ML, quindi unire i risultati di queste operazioni al resto dei dati strutturati in BigQuery.

Come le tabelle BigLake, le tabelle di oggetti utilizzano la delega dell'accesso, che disaccoppia l'accesso alla tabella di oggetti dall'accesso agli oggetti Cloud Storage. Per connetterti a Cloud Storage viene utilizzata una connessione esterna associata a un account di servizio, quindi devi solo concedere agli utenti 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 saperne di più, consulta Introduzione alle tabelle degli oggetti.

Tabelle esterne

Le tabelle esterne consentono di eseguire query su dati strutturati in datastore esterni. Per eseguire query su una tabella esterna, devi disporre delle autorizzazioni sia per la tabella esterna sia per l'origine dati esterna. Ad esempio, per eseguire query su una tabella esterna 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 saperne di più, consulta Introduzione alle tabelle esterne.

Query federate

Le query federate ti consentono di inviare un'istruzione di query ai database AlloyDB, Spanner o Cloud SQL e di ottenere il risultato sotto forma di tabella temporanea. Le query federate utilizzano l'API BigQuery Connection per stabilire una connessione con AlloyDB, Spanner o Cloud SQL. Nella query, utilizzi 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 saperne di più, consulta Introduzione alle query federate.

Confronto delle funzionalità delle origini dati esterne

La seguente tabella mette a confronto il comportamento delle origini dati esterne:

Tabelle BigLake Tabelle di oggetti Tabelle esterne Query federate
Utilizza la delega dell'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ò essere basato 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 trattamento dati tramite connettori Sì (solo Cloud Storage) No Sì Non applicabile
Possibilità di unione con altre tabelle BigQuery Sì (solo Cloud Storage) Sì Sì Sì
È possibile accedervi come tabella temporanea Sì (solo Cloud Storage) No Sì Sì
Compatibile con Amazon S3 Sì No No No
Compatibile con Azure Storage Sì No No No
Funziona con Bigtable No No Sì No
Compatibile con Spanner No No No Sì
Funziona con Cloud SQL No No No Sì
Funziona con Google Drive No No Sì No
Compatibile con Cloud Storage Sì Sì Sì No

Passaggi successivi