Cette page explique comment utiliser Spanner Data Boost lors de l'exécution de requêtes fédérées depuis BigQuery vers Spanner. Avec Data Boost, les requêtes fédérées avec un impact quasi nul sur les charges de travail existantes l'instance Spanner provisionnée.
La fédération Spanner permet à BigQuery d'interroger les données résidant dans Spanner en temps réel, sans copier ni déplacer de données.
Pour en savoir plus sur les requêtes fédérées Spanner, consultez la page Spanner fédérées.
Pour en savoir plus sur Data Boost, consultez la page Data Boost présentation.
Avant de commencer
Effectuez les tâches suivantes avant d'essayer d'exécuter des requêtes fédérées avec Data Boost
Activer l'API de connexion BigQuery
L'API de connexion BigQuery vous permet de gérer Connexions BigQuery à des sources de données externes
-
Activez BigQuery connection API.
Pour en savoir plus, consultez la section Connexion à BigQuery API.
Accorder aux comptes principaux des autorisations IAM pour Data Boost
Les comptes principaux ont besoin des éléments spanner.instances.get
et spanner.databases.useDataBoost
Autorisations Identity and Access Management (IAM) à exécuter
et les exportations avec Data Boost.
Nous vous recommandons de créer un rôle IAM personnalisé basé sur
Spanner Database Reader
(roles/spanner.databaseReader
) et ajouter
spanner.instances.get
et spanner.databases.useDataBoost
.
Pour en savoir plus, consultez la section Rôles prédéfinis.
Créer des connexions BigQuery pour Spanner avec Data Boost
Les connexions BigQuery vous permettent d'interroger des données stockées en dehors dans BigQuery. Pour établir une connexion entre BigQuery et Spanner, vous créez . Vous pouvez ensuite exécuter des requêtes qui associent les données BigQuery Spanner données.
Pour créer une connexion de données externe à Spanner qui utilise Data Boost, sélectionnez l'une des options suivantes:
Console
Accédez à la page Créer des connexions Spanner. dans la documentation BigQuery et suivez les instructions de la console instructions.
Dans le volet Source de données externe, sélectionnez les options Lire les données dans parallèles et Utiliser Spanner Data Boost.
bq
Accédez à la page Créer des connexions Spanner. dans la documentation BigQuery et suivez la commande bq instructions.
Définissez les propriétés de connexion suivantes sur
true
:
useParallelism
useDataBoost
L'exemple suivant utilise la méthode bq
mk
pour créer une connexion nommée my_connection
avec les deux
Propriétés requises pour 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
Exécuter une requête fédérée
Pour exécuter une requête fédérée avec Data Boost, utilisez un une connexion BigQuery spécifiant l'utilisation Data Boost Pour en savoir plus, consultez la section Créer les connexions BigQuery pour Spanner avec Data Boost :
Vous pouvez commencer depuis la page Spanner du la console Google Cloud ou BigQuery.
Accéder à la page "Spanner" de la console
Accédez à la page Instances de Spanner dans la console Google Cloud.
La console affiche la liste de vos fichiers Spanner Compute Engine.
Sélectionnez une instance Spanner, puis une base de données.
Dans le menu de navigation de la page Présentation de la base de données, cliquez sur Spanner Studio.
Cliquez sur l'onglet View in BigQuery (Afficher dans BigQuery).
Dans la boîte de dialogue Afficher dans BigQuery, saisissez un ID de connexion.
Cela crée une nouvelle connexion. Une erreur se produit si l'ID existe déjà.
Remplissez le reste de la boîte de dialogue, puis sélectionnez Lire les données en parallèle et Utiliser Spanner Data Boost.
Cliquez sur Afficher dans BigQuery.
BigQuery Studio s'ouvre. Saisissez et exécutez votre une requête fédérée.
L'exemple suivant envoie une requête fédérée à une base de données Spanner nommée
orders
et joint les résultats à une table BigQuery nomméemydataset.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;
Partir de BigQuery
Saisissez l'URL suivante dans votre navigateur :
https://console.cloud.google.com/bigquery
BigQuery s'ouvre dans le dernier projet auquel vous avez accédé et affiche BigQuery Studio. Exécutez votre requête fédérée ici.
Étape suivante
- Pour en savoir plus sur Data Boost, consultez Présentation de Data Boost
- Utiliser Data Boost dans vos applications
- Surveiller l'utilisation de Data Boost
- Surveiller et gérer l'utilisation du quota Data Boost