Utiliser le modèle de flux de modifications Bigtable vers BigQuery
Dans ce guide de démarrage rapide, vous allez apprendre à configurer une table Bigtable avec un flux de modifications activé, à exécuter un pipeline de flux de modifications, à apporter des modifications à votre table, puis à voir les modifications diffusées.
Avant de commencer
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataflow, Cloud Bigtable API, Cloud Bigtable Admin API, and BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, activate Cloud Shell.
Créer un ensemble de données BigQuery
Utilisez la console Google Cloud pour créer un ensemble de données destiné à stocker les données.
Dans la console Google Cloud , accédez à la page "BigQuery".
Dans le volet Explorateur, cliquez sur le nom de votre projet.
Développez l'option
Actions, puis cliquez sur Créer un ensemble de données.Sur la page Créer un ensemble de données, procédez comme suit :
- Dans le champ ID de l'ensemble de données, saisissez
bigtable_bigquery_quickstart
. - Conservez les autres paramètres par défaut, puis cliquez sur Créer un ensemble de données.
- Dans le champ ID de l'ensemble de données, saisissez
Créer une table avec un flux de modifications activé
Dans la console Google Cloud , accédez à la page Instances Bigtable.
Cliquez sur l'ID de l'instance que vous utilisez pour ce guide de démarrage rapide.
Si vous n'avez pas d'instance disponible, créez-en une avec les configurations par défaut dans une région proche de vous.
Dans le volet de navigation de gauche, cliquez sur Tables.
Cliquez sur Créer une table.
Nommez la table
bigquery-changestream-quickstart
.Ajoutez une famille de colonnes nommée
cf
.Sélectionnez Activer le flux de modifications.
Cliquez sur Créer.
Sur la page Tables de Bigtable, recherchez votre table
bigquery-changestream-quickstart
.Dans la colonne Flux de modifications, cliquez sur Connecter.
Dans la boîte de dialogue, sélectionnez BigQuery.
Cliquez sur Créer un job Dataflow.
Dans les champs fournis, saisissez vos valeurs de paramètres. Vous n'avez pas besoin de fournir de paramètres facultatifs.
- Définissez l'ID du profil d'application Bigtable sur
default
. - Définissez l'ensemble de données BigQuery sur
bigtable_bigquery_quickstart
.
- Définissez l'ID du profil d'application Bigtable sur
Cliquez sur Run Job (Exécuter la tâche).
Attendez que l'état du job soit Démarrage ou En cours d'exécution avant de continuer. Une fois le job mis en file d'attente, il faut environ cinq minutes pour qu'il soit exécuté.
Laissez le job ouvert dans un onglet pour pouvoir l'arrêter lorsque vous nettoierez vos ressources.
Écrire des données dans Bigtable
Dans Cloud Shell, écrivez quelques lignes dans Bigtable afin que le journal des modifications puisse écrire des données dans BigQuery. Tant que vous écrivez les données après la création du job, les modifications apparaissent. Vous n'avez pas besoin d'attendre que l'état du job devienne
running
.cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \ set bigquery-changestream-quickstart user123 cf:col1=abc cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \ set bigquery-changestream-quickstart user546 cf:col1=def cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \ set bigquery-changestream-quickstart user789 cf:col1=ghi
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet que vous utilisez
- BIGTABLE_INSTANCE_ID : ID de l'instance contenant la table
bigquery-changestream-quickstart
Afficher les journaux des modifications dans BigQuery
Dans la console Google Cloud , accédez à la page BigQuery.
Dans le volet Explorateur, développez votre projet et l'ensemble de données
bigtable_bigquery_quickstart
.Cliquez sur la table
bigquery-changestream-quickstart_changelog
.Pour afficher le journal des modifications, cliquez sur Aperçu.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre compte Google Cloud , procédez comme suit :
Désactivez le flux de modifications sur la table :
gcloud bigtable instances tables update bigquery-changestream-quickstart \ --project=PROJECT_ID --instance=BIGTABLE_INSTANCE_ID \ --clear-change-stream-retention-period
Supprimez la table
bigquery-changestream-quickstart
:cbt --instance=BIGTABLE_INSTANCE_ID --project=PROJECT_ID deletetable bigquery-changestream-quickstart
Arrêtez le pipeline de flux de modifications :
Dans la console Google Cloud , accédez à la page Tâches Dataflow.
Sélectionnez votre tâche de traitement par flux dans la liste des tâches.
Dans la barre de navigation, cliquez sur Arrêter.
Dans la boîte de dialogue Arrêter la tâche, sélectionnez Annuler, puis cliquez sur Arrêter la tâche.
Supprimez l'ensemble de données BigQuery :
Dans la console Google Cloud , accédez à la page "BigQuery".
Dans le panneau Explorateur, recherchez l'ensemble de données
bigtable_bigquery_quickstart
et cliquez dessus.Cliquez sur Supprimer, saisissez
delete
, puis cliquez sur Supprimer pour confirmer.
Facultatif : Supprimez l'instance si vous en avez créé une pour ce démarrage rapide :
cbt deleteinstance BIGTABLE_INSTANCE_ID
Étapes suivantes