Questa pagina spiega come utilizzare Spanner Data Boost durante l'esecuzione di query federate da BigQuery a Spanner. Con Data Boost, le query federate vengono eseguite con un impatto quasi zero sui carichi di lavoro esistenti dell'istanza Spanner di cui è stato eseguito il provisioning.
La federazione di Spanner consente a BigQuery di eseguire query sui dati che risiedono in Spanner in tempo reale, senza copiare o spostare dati.
Per informazioni sulle query federate di Spanner, consulta Query federate di Spanner.
Per informazioni su Data Boost, consulta Data Boost Panoramica.
Prima di iniziare
Completa le attività seguenti prima di tentare di eseguire query federate con Data Boost.
Abilita l'API BigQuery connection
L'API di connessione BigQuery ti consente di gestire le connessioni BigQuery alle origini dati esterne.
-
Enable the BigQuery connection API.
Per ulteriori informazioni, consulta l'API di connessione BigQuery.
Concedi le autorizzazioni IAM per Data Boost agli entità principali
Le entità devono disporre delle autorizzazioni spanner.instances.get
e spanner.databases.useDataBoost
Identity and Access Management (IAM) per eseguire query ed esportazioni con Data Boost.
Ti consigliamo di creare un ruolo IAM personalizzato basato su
Spanner Database Reader
(roles/spanner.databaseReader
) e aggiungi
spanner.instances.get
e spanner.databases.useDataBoost
.
Per ulteriori informazioni, vedi Ruoli predefiniti.
Creare connessioni BigQuery per Spanner con Data Boost
Le connessioni BigQuery ti consentono di eseguire query sui dati archiviati al di fuori di BigQuery. Per stabilire una connessione tra BigQuery e Spanner, devi creare una connessione di dati esterni. Puoi quindi eseguire query che uniscono i dati BigQuery Spanner e i dati di Google Cloud.
Per creare una connessione dati esterna a Spanner che utilizza Data Boost, seleziona una delle seguenti opzioni:
Console
Vai a Creare connessioni Spanner nella documentazione di BigQuery e segui le istruzioni della console.
Nel riquadro Origine dati esterna, seleziona entrambe le caselle di controllo Leggi i dati in parallelo e Utilizza Spanner Data Boost.
bq
Vai a Creare connessioni Spanner nella documentazione di BigQuery e segui le istruzioni bq istruzioni.
Imposta le seguenti proprietà di connessione su
true
:
useParallelism
useDataBoost
L'esempio seguente utilizza la classe bq
mk
per creare una nuova connessione denominata my_connection
con i due
proprietà obbligatorie per Data Boost:
bq mk --connection --connection_type='CLOUD_SPANNER' --location='us' \
--properties='{"database":"projects/my-project/instances/my-instance/databases/my-database", "useParallelism":true, "useDataBoost": true}' my_connection
Esegui una query federata
Per eseguire una query federata con Data Boost, utilizza una connessione BigQuery che specifichi l'utilizzo di Data Boost. Per ulteriori informazioni, consulta la sezione Creare Connessioni BigQuery per Spanner con Data Boost.
Puoi iniziare dalla pagina Spanner della console Google Cloud o da BigQuery.
Inizia dalla pagina Spanner della console
Vai alla pagina Istanze di Spanner nella console Google Cloud.
La console mostra un elenco dei tuoi Spanner di Compute Engine.
Seleziona un'istanza Spanner e poi un database.
Nella pagina Panoramica del database, nel menu di navigazione, fai clic su Spanner Studio.
Fai clic sulla scheda Visualizza in BigQuery.
Nella finestra di dialogo Visualizza in BigQuery, inserisci un ID connessione.
Viene creata una nuova connessione. Se l'ID esiste già, si verifica un errore.
Compila il resto della finestra di dialogo e seleziona le caselle di controllo Leggi i dati in parallelo e Utilizza Spanner Data Boost.
Fai clic su Visualizza in BigQuery.
Si apre BigQuery Studio. Inserisci ed esegui la query federata.
L'esempio seguente esegue una query federata in uno Spanner denominato
orders
e unisce i risultati a un database BigQuery tabella denominatamydataset.customers
.SELECT c.customer_id, c.name, rq.first_order_date FROM mydataset.customers AS c LEFT OUTER JOIN EXTERNAL_QUERY( 'my-project.us.example-db', '''SELECT customer_id, MIN(order_date) AS first_order_date FROM orders GROUP BY customer_id''') AS rq ON rq.customer_id = c.customer_id GROUP BY c.customer_id, c.name, rq.first_order_date;
Inizia da BigQuery
Inserisci il seguente URL nel browser:
https://console.cloud.google.com/bigquery
BigQuery si apre nel progetto a cui hai eseguito l'accesso più di recente e visualizza BigQuery Studio. Esegui qui la tua query federata.
Passaggi successivi
- Scopri di più su Data Boost in Panoramica di Data Boost.
- Utilizzare Data Boost nelle applicazioni
- Monitorare l'utilizzo di Data Boost
- Monitorare e gestire l'utilizzo delle quote di Data Boost