En esta página, se explica cómo usar Data Boost de Spanner cuando se ejecutan consultas federadas de BigQuery en Spanner. Con Data Boost, las consultas federadas se ejecutan con un impacto casi nulo en las cargas de trabajo existentes en la instancia aprovisionada de Spanner.
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 Consultas federadas de Spanner.
Para obtener más 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 conexión de BigQuery
La API de conexión de BigQuery te permite administrar conexiones de BigQuery con fuentes de datos externas.
-
Habilita BigQuery connection API.
Para obtener más información, consulta la API de conexión de BigQuery.
Otorga permisos de IAM para Data Boost a las principales
Las principales necesitan los permisos spanner.instances.get
y spanner.databases.useDataBoost
de Identity and Access Management (IAM) para ejecutar consultas y exportaciones con Data Boost.
Te recomendamos crear una función de IAM personalizada basada en Spanner Database Reader
(roles/spanner.databaseReader
) y agregarle 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 una conexión de datos externa. Luego, puedes ejecutar consultas que unan los datos de BigQuery con los datos de Spanner.
Para crear una conexión de datos externa a Spanner que use Data Boost, selecciona una de las siguientes opciones:
Console
Ve a Crea conexiones de Spanner en la documentación de BigQuery y sigue las instrucciones de Console.
En el panel Fuente de datos externa, selecciona las casillas de verificación Leer datos en paralelo y Usar Data Boost de Spanner.
bq
Ve a Crea conexiones de Spanner en la documentación de BigQuery y sigue las instrucciones de bq.
Establece las siguientes propiedades de conexión en
true
:
useParallelism
useDataBoost
En el siguiente ejemplo, se usa el comando bq
mk
para crear una conexión nueva llamada my_connection
con las dos propiedades obligatorias 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 una conexión de BigQuery que especifique el uso de Data Boost. Si deseas obtener más información, consulta Crea 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 Spanner de la consola
Ve a la página Instancias de Spanner en la consola de Google Cloud.
En la consola, se muestra una lista de las instancias de Spanner.
Selecciona una instancia de Spanner y, luego, una base de datos.
En la página Descripción general de la base de datos, en el menú de navegación, haz clic en Spanner Studio.
Haz clic en la pestaña Ver en BigQuery.
En el diálogo Ver en BigQuery, ingresa un ID de conexión.
Esto crea una conexión nueva. Si el ID ya existe, se produce un error.
Completa el resto del cuadro de diálogo y selecciona las casillas de verificación Leer datos en paralelo y Usar Data Boost de Spanner.
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 llamadamydataset.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
BigQuery se abrirá en el último proyecto al que accediste y se mostrará BigQuery Studio. Ejecuta tu consulta federada aquí.
¿Qué sigue?
- Obtén información sobre Data Boost en la Descripción general de Data Boost.
- Usa Data Boost en tus aplicaciones
- Supervisa el uso de Data Boost
- Supervisa y administra el uso de la cuota de Data Boost