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
-
Dans la Google Cloud console, sur la page de sélection du projet, sélectionnez ou créez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Dataflow, Cloud Bigtable, Cloud Bigtable Admin et BigQuery.
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.-
Dans la Google Cloud console, activez Cloud Shell.
Créer un ensemble de données BigQuery
Utilisez la Google Cloud console pour créer un ensemble de données destiné à stocker les données.
Dans la Google Cloud console, 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 Google Cloud console, accédez à la page Bigtable Instances.
Cliquez sur l'ID de l'instance que vous utilisez pour ce guide de démarrage rapide.
Si aucune instance n'est 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 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 une tâche 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 de la tâche soit Starting (Démarrage) ou Running (En cours d'exécution) avant de continuer. Une fois la tâche mise en file d'attente, cela prend environ cinq minutes.
Laissez la tâche ouverte dans un onglet afin de pouvoir l'arrêter lorsque vous nettoyez 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 de la tâche, les modifications s'affichent. Vous n'avez pas besoin d'attendre que l'état de la tâche 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=ghiRemplacez les éléments suivants :
- PROJECT_ID : ID du projet que vous utilisez
- BIGTABLE_INSTANCE_ID : ID de l'instance qui contient la table
bigquery-changestream-quickstart
Afficher les journaux des modifications dans BigQuery
Dans la Google Cloud console, 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.

Libérer de l'espace
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, procédez comme suit :
Désactivez le flux de modifications dans la table :
gcloud bigtable instances tables update bigquery-changestream-quickstart \ --project=PROJECT_ID --instance=BIGTABLE_INSTANCE_ID \ --clear-change-stream-retention-periodSupprimez la table
bigquery-changestream-quickstart:cbt --instance=BIGTABLE_INSTANCE_ID --project=PROJECT_ID deletetable bigquery-changestream-quickstartArrêtez le pipeline de flux de modifications :
Dans la Google Cloud console, accédez à la page Jobs (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 Stop job (Arrêter la tâche), sélectionnez Cancel (Annuler), puis cliquez sur Stop job. (Arrêter la tâche).
Supprimez l'ensemble de données BigQuery :
Dans la Google Cloud console, accédez à la page BigQuery.
Dans le panneau Explorateur , recherchez l'ensemble de données
bigtable_bigquery_quickstart, puis cliquez dessus.Cliquez sur Delete, saisissez
delete, puis cliquez sur Delete pour confirmer.
Facultatif : Supprimez l'instance si vous en avez créé une pour ce guide de démarrage rapide :
cbt deleteinstance BIGTABLE_INSTANCE_ID