Esegui query federate con Data Boost

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 scoprire di più sulle query federate di Spanner, consulta Spanner. query federate.

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 BigQuery connection consente di gestire Connessioni BigQuery a origini dati esterne.

  • Attiva BigQuery connection API.

    Abilita l'API

Per saperne di più, consulta Connessione a BigQuery tramite Google Cloud.

Concedi alle entità le autorizzazioni IAM per Data Boost

Le entità devono avere spanner.instances.get e spanner.databases.useDataBoost Autorizzazioni di Identity and Access Management (IAM) per l'esecuzione 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 saperne di più, vedi Ruoli predefiniti.

Crea connessioni BigQuery per Spanner con Data Boost

Le connessioni BigQuery consentono di eseguire query sui dati archiviati al di fuori in BigQuery. Per stabilire una connessione tra BigQuery e Spanner, creando un ambiente esterno connessione. 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

  1. Vai a Creare connessioni Spanner nella documentazione di BigQuery e segui le istruzioni della console instructions.

  2. Nel riquadro Origine dati esterna, seleziona Leggi i dati in parallela e Utilizza Spanner Data Boost.

bq

  1. Vai a Creare connessioni Spanner nella documentazione di BigQuery e segui le istruzioni bq instructions.

  2. 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 un'istanza Connessione BigQuery che specifica l'utilizzo di Data Boost. Per ulteriori informazioni, consulta la sezione Creare Connessioni BigQuery per Spanner con Data Boost.

Puoi iniziare dalla pagina Spanner del nella console Google Cloud o da BigQuery.

Inizia dalla pagina Spanner della console

  1. Vai alla pagina Istanze di Spanner nella console Google Cloud.

    Vai alla pagina Istanze

    La console mostra un elenco dei tuoi Spanner di Compute Engine.

  2. Seleziona un'istanza Spanner, quindi seleziona un database.

  3. Nella pagina Panoramica del database, nel menu di navigazione, fai clic su Spanner Studio.

  4. Fai clic sulla scheda Visualizza in BigQuery.

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

  6. Compila il resto della finestra di dialogo e seleziona Leggi i dati in parallelo e Le caselle di controllo Utilizza Spanner Data Boost.

  7. Fai clic su Visualizza in BigQuery.

    Si apre BigQuery Studio. Inserisci ed esegui o una query federata.

    L'esempio seguente esegue una query federata in uno Spanner denominato orders e unisce i risultati a un database BigQuery tabella denominata mydataset.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 tuo browser:

    https://console.cloud.google.com/bigquery

    BigQuery si apre nel progetto a cui hai eseguito l'accesso più di recente mostra BigQuery Studio. Esegui qui la tua query federata.

Passaggi successivi