Introduzione alle origini dati esterne

Questa pagina fornisce una panoramica dell'esecuzione di query sui dati archiviati al di fuori in BigQuery.

Un'origine dati esterna è un'origine dati su cui puoi eseguire query direttamente in BigQuery, anche se i dati non vengono archiviati di archiviazione BigQuery. Ad esempio, potresti avere dati in una un database Google Cloud diverso, nei file di Cloud Storage o in un prodotto cloud completamente diverso da analizzare a BigQuery, ma che non è tutto pronto per la migrazione.

Ecco alcuni casi d'uso per le origini dati esterne:

  • Per i carichi di lavoro di estrazione, trasformazione e caricamento (ELT), il caricamento e la pulizia dei dati in un solo passaggio e scrivere il risultato pulito in BigQuery usando una query CREATE TABLE ... AS SELECT.
  • Unione delle tabelle BigQuery con dati che cambiano frequentemente da: un'origine dati esterna. Se esegui una query direttamente sull'origine dati esterna, non è necessario ricaricare i dati nello spazio di archiviazione BigQuery all'ora in cui cambia.

BigQuery ha due diversi meccanismi per eseguire query su dati: tabelle esterne e query federate.

Tabelle esterne

Le tabelle esterne sono simili alle tabelle BigQuery standard, che queste tabelle archivino i propri metadati e schema in BigQuery archiviazione. Tuttavia, i loro dati risiedono in un'origine esterna.

Le tabelle esterne sono contenute in un set di dati e puoi gestirle in nello stesso modo in cui gestisci un modello Tabella BigQuery. Ad esempio, puoi visualizza le proprietà della tabella, impostare i controlli dell'accesso. e quindi la tua. Puoi eseguire query su queste tabelle e nella maggior parte dei casi puoi unirle a in altre tabelle.

Esistono quattro tipi di tabelle esterne:

  • Tavoli BigLake
  • Tabelle BigQuery Omni
  • Tabelle di oggetti
  • Tabelle esterne non BigLake

Tavoli BigLake

Le tabelle BigLake consentono di eseguire query su dati strutturati datastore esterni con delega di accesso. Delega di accesso disaccoppia l'accesso alla tabella BigLake dall'accesso nel datastore sottostante. Un connessione esterna associati a un account di servizio vengono utilizzati per la connessione al datastore. Poiché l'account di servizio gestisce il recupero dei dati dal datastore, devi solo per concedere agli utenti l'accesso alla tabella BigLake. In questo modo puoi applicare una sicurezza granulare a livello di tabella, a livello di riga e sicurezza a livello di colonna. Per nelle tabelle BigLake basate su Cloud Storage, puoi anche mascheramento dinamico dei dati. Per scoprire di più su di soluzioni analitiche multi-cloud utilizzando le tabelle BigLake con dati di Amazon S3 o Archiviazione BLOB, consulta BigQuery Omni

Per ulteriori informazioni, vedi Introduzione alle tabelle BigLake.

Tabelle di oggetti

Le tabelle degli oggetti consentono di analizzare i dati non strutturati in di archiviazione ideale in Cloud Storage. Puoi eseguire analisi con funzioni remote eseguire l'inferenza utilizzando BigQuery ML e poi unire i risultati operazioni con gli altri dati strutturati in BigQuery.

Come per le tabelle BigLake, le tabelle di oggetti utilizzano la delega di accesso, che disaccoppia l'accesso alla tabella degli oggetti dall'accesso oggetti Cloud Storage. Un connessione esterna associati a un account di servizio vengono utilizzati per la connessione a Cloud Storage, quindi devi solo concedere agli utenti l'accesso alla tabella degli oggetti. Questo consente di applicare la sicurezza a livello di riga e gestire a quali oggetti hanno accesso gli utenti.

Per ulteriori informazioni, vedi Introduzione alle tabelle di oggetti.

Tabelle esterne non BigLake

Le tabelle esterne non BigLake consentono di eseguire query su dati strutturati in datastore esterni. Per eseguire query su un oggetto esterno non BigLake devi disporre delle autorizzazioni sia per la tabella esterna che per un'origine dati esterna. Ad esempio, per eseguire query su un 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 ulteriori informazioni, vedi Introduzione alle tabelle esterne.

Query federate

Le query federate ti consentono di inviare un'istruzione di query ai database AlloyDB, Spanner o Cloud SQL per visualizzare i risultati sotto forma di tabella temporanea. Le query federate utilizzano API BigQuery Connection per stabilire una connessione con AlloyDB, Spanner o Cloud SQL. Nella query, utilizzi la funzione EXTERNAL_QUERY per inviare un un'istruzione di query al database esterno, utilizzando il dialetto SQL del database. I risultati vengono convertiti in tipi di dati GoogleSQL.

Per ulteriori informazioni, vedi Introduzione alle query federate.

Confronto delle funzionalità dell'origine dati esterna

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

Tavoli 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 di database (solo Cloud SQL)
Possono essere basati su più URI di origine Sì (solo Cloud Storage) Non applicabile
Mappatura righe Le righe rappresentano i contenuti dei file Le righe rappresentano i metadati dei file Le righe rappresentano i contenuti dei file Non applicabile
Accessibile da altri strumenti di elaborazione dati tramite l'utilizzo dei connettori Sì (solo Cloud Storage) No Non applicabile
Può essere unito ad altre tabelle BigQuery Sì (solo Cloud Storage)
Accessibili come tabella temporanea Sì (solo Cloud Storage) No
Compatibile con Amazon S3 No No No
Funziona con Archiviazione di Azure No No No
Compatibile con Bigtable No No No
Compatibile con Spanner No No No
Compatibile con Cloud SQL No No No
Funziona con Google Drive No No No
Compatibile con Cloud Storage No

Passaggi successivi