Ejecuta consultas federadas con Data Boost

En esta página, se explica cómo usar Data Boost de Spanner cuando se ejecutan consultas federadas desde BigQuery a Spanner. Con Data Boost, Se ejecutan consultas federadas con un impacto casi nulo en las cargas de trabajo existentes del instancia de Spanner aprovisionada.

La federación de Spanner permite que BigQuery consulte datos que se encuentran en Spanner en tiempo real, sin copiarlos ni moverlos.

Para obtener más información sobre las consultas federadas de Spanner, visita Spanner. Consultas federadas

Para obtener información sobre Data Boost, consulta la descripción general de Data Boost.

Antes de comenzar

Completa las siguientes tareas antes de intentar ejecutar consultas federadas con Data Boost.

Habilita la API de BigQuery Connection

La API de conexión de BigQuery te permite administrar conexiones de BigQuery a fuentes de datos externas.

  • Enable the BigQuery connection API.

    Enable the API

Para obtener más información, consulta Conexión a BigQuery API

Otorga permisos de IAM para Data Boost a principales

Los directores necesitan los permisos de Identity and Access Management (IAM) spanner.instances.get y spanner.databases.useDataBoost para ejecutar consultas y exportaciones con Data Boost.

Te recomendamos que crees un rol de IAM personalizado basado en Spanner Database Reader (roles/spanner.databaseReader) y le agregues spanner.instances.get y spanner.databases.useDataBoost.

Para obtener más información, consulta Roles predefinidos.

Crea conexiones de BigQuery para Spanner con Data Boost

Las conexiones de BigQuery te permiten consultar datos almacenados fuera de BigQuery. Para establecer una conexión entre BigQuery y Spanner, debes crear un panel de conexión. Luego, puedes ejecutar consultas que unan los datos de BigQuery con Spanner de datos no estructurados.

Para crear una conexión de datos externa a Spanner que use Data Boost, selecciona una de las siguientes opciones:

Console

  1. Ve a Crea conexiones de Spanner. en la documentación de BigQuery y sigue los pasos de la Consola instrucciones.

  2. En el panel Fuente de datos externa, selecciona las casillas de verificación Leer datos en paralelo y Usar el aumento de datos de Spanner.

bq

  1. Ve a Crea conexiones de Spanner. en la documentación de BigQuery y sigue los pasos de bq instrucciones.

  2. Configura las siguientes propiedades de conexión en true:

  • useParallelism
  • useDataBoost

En el siguiente ejemplo, se usa bq mk para crear una nueva conexión llamada my_connection con los dos Propiedades requeridas para 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

Ejecuta una consulta federada

Para ejecutar una consulta federada con Data Boost, usa un conexión de BigQuery que especifique el uso de Data Boost. Para obtener más información, consulta Cómo crear conexiones de BigQuery para Spanner con Data Boost.

Puedes comenzar desde la página de Spanner de la consola de Google Cloud o desde BigQuery.

Comenzar desde la página de Spanner de la consola

  1. Ve a la página Instancias de Spanner en la consola de Google Cloud.

    Ir a la página Instancias

    En la consola, se muestra una lista de tus instancias individuales.

  2. Selecciona una instancia de Spanner y, luego, una base de datos.

  3. En la página Descripción general de la base de datos, en el menú de navegación, haz clic en Spanner Studio.

  4. Haz clic en la pestaña Ver en BiqQuery.

  5. En el diálogo Ver en BigQuery, ingresa un ID de conexión.

    Se creará una conexión nueva. Se produce un error si el ID ya existe.

  6. Completa el resto del diálogo, selecciona Read data in parallel. Las casillas de verificación Usar Data Boost de Spanner

  7. Haz clic en Ver en BigQuery.

    Se abrirá BigQuery Studio. Ingresa y ejecuta tu consulta federada allí.

    En el siguiente ejemplo, se realiza una consulta federada a una base de datos de Cloud Spanner llamada orders y se unen los resultados con una tabla de BigQuery llamada 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;

Comienza desde BigQuery

  • Ingresar la siguiente URL en tu navegador:

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

    Se abrirá BigQuery en el proyecto al que accediste más recientemente y se mostrará BigQuery Studio. Ejecuta tu consulta federada aquí.

¿Qué sigue?