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

  1. 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'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.

    Accéder au sélecteur de projet

  2. Vérifiez que la facturation est activée pour votre Google Cloud projet.

  3. 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.

    Activer les API

  4. Dans la Google Cloud console, activez Cloud Shell.

    Activer 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.

  1. Dans la Google Cloud console, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans le volet Explorateur, cliquez sur le nom de votre projet.

  3. Développez l'option Actions , puis cliquez sur Créer un ensemble de données.

  4. Sur la page Créer un ensemble de données, procédez comme suit :

    1. Dans le champ ID de l'ensemble de données, saisissez bigtable_bigquery_quickstart.
    2. Conservez les autres paramètres par défaut, puis cliquez sur Créer un ensemble de données.

Créer une table avec un flux de modifications activé

  1. Dans la Google Cloud console, accédez à la page Bigtable Instances.

    Accéder à la page "Instances"

  2. 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.

  3. Dans le volet de navigation de gauche, cliquez sur Tables.

  4. Cliquez sur Créer une table.

  5. Nommez la table bigquery-changestream-quickstart.

  6. Ajoutez une famille de colonnes nommée cf.

  7. Sélectionnez Activer le flux de modifications.

  8. Cliquez sur Créer.

  9. Sur la page Tables Bigtable, recherchez votre table bigquery-changestream-quickstart.

  10. Dans la colonne Flux de modifications, cliquez sur Connecter.

  11. Dans la boîte de dialogue, sélectionnez BigQuery.

  12. Cliquez sur Créer une tâche Dataflow.

  13. Dans les champs fournis, saisissez vos valeurs de paramètres. Vous n'avez pas besoin de fournir de paramètres facultatifs.

    1. Définissez l'ID du profil d'application Bigtable sur default.
    2. Définissez l'ensemble de données BigQuery sur bigtable_bigquery_quickstart.
  14. Cliquez sur Run Job (Exécuter la tâche).

  15. 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.

  16. 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

  1. 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=ghi
    

    Remplacez 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

  1. Dans la Google Cloud console, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans le volet Explorateur, développez votre projet et l'ensemble de données bigtable_bigquery_quickstart.

  3. Cliquez sur la table bigquery-changestream-quickstart_changelog.

  4. Pour afficher le journal des modifications, cliquez sur Aperçu.

    Aperçu du journal des modifications dans BigQuery

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 :

  1. 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-period
    
  2. Supprimez la table bigquery-changestream-quickstart :

    cbt --instance=BIGTABLE_INSTANCE_ID --project=PROJECT_ID deletetable bigquery-changestream-quickstart
    
  3. Arrêtez le pipeline de flux de modifications :

    1. Dans la Google Cloud console, accédez à la page Jobs (Tâches) Dataflow.

      Accéder à la page "Tâches"

    2. Sélectionnez votre tâche de traitement par flux dans la liste des tâches.

    3. Dans la barre de navigation, cliquez sur Arrêter.

    4. 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).

  4. Supprimez l'ensemble de données BigQuery :

    1. Dans la Google Cloud console, accédez à la page BigQuery.

      Accéder à BigQuery

    2. Dans le panneau Explorateur , recherchez l'ensemble de données bigtable_bigquery_quickstart, puis cliquez dessus.

    3. Cliquez sur Delete, saisissez delete, puis cliquez sur Delete pour confirmer.

  5. Facultatif : Supprimez l'instance si vous en avez créé une pour ce guide de démarrage rapide :

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

Étape suivante