Créer une table de test

Cette page décrit les étapes à suivre pour créer une petite table Bigtable que vous pour tester les extraits de code. La table contient les données de séries temporelles concernant des smartphones et tablettes.

Ces instructions utilisent la console Google Cloud et la CLI cbt, une interface de ligne de commande conçue spécifiquement pour Bigtable.

Avant de commencer

Avant de créer une table de test, remplissez les conditions préalables suivantes.

Configurer l'authentification

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

Pour en savoir plus sur la configuration de l'authentification dans un environnement de production, consultez Set up Application Default Credentials for code running on Google Cloud.

Attribuer un rôle IAM

Pour obtenir les autorisations nécessaires pour créer une table de test, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Bigtable (roles/bigtable.admin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Installez la CLI cbt

Exécutez la commande suivante pour installer CLI cbt :

  gcloud components install cbt

Créer une instance

Dans le projet de votre choix, créez une instance de test qui servira à stocker votre table de test. La table étant petite, vous aurez seulement besoin d'une instance à un seul nœud.

  1. Accédez à la page Créer une instance dans Google Cloud Console.

    Créer une instance

  2. Dans le champ Nom de l'instance, saisissez Test instance.

  3. Dans le champ ID d'instance, saisissez test-instance.

  4. Comme Type de stockage, sélectionnez SSD.

  5. Dans le champ ID de cluster, saisissez test-instance-c1.

  6. Dans le champ Région, sélectionnez une région à proximité de votre emplacement.

  7. Comme Zone, sélectionnez une zone au sein de la région choisie ci-dessus.

  8. Sous Nœuds, saisissez 1.

  9. Cliquez sur Create (Créer) pour créer l'instance.

Se connecter à l'instance

  1. Configurez la CLI cbt pour utiliser votre projet et votre instance en créant un fichier .cbtrc, en remplaçant PROJECT_ID par l'ID du projet dans lequel vous avez créé votre instance Bigtable :

    echo project = PROJECT_ID >> ~/.cbtrc && echo instance = test-instance >> ~/.cbtrc
    
  2. Vérifiez que vous avez correctement configuré le fichier .cbtrc :

    cat ~/.cbtrc

    Le terminal affiche le contenu du fichier .cbtrc, qui doit ressembler à ce qui suit :

    project = PROJECT_ID
    instance = test-instance

    Vous pouvez maintenant utiliser CLI cbt avec votre instance.

Créer une table de test

  1. Créez une table nommée test_table et comportant deux familles de colonnes. Pour chaque famille de colonnes, définissez une stratégie de récupération de mémoire de façon à conserver au maximum deux cellules par colonne :

       cbt createtable test_table "families=stats_summary:maxversions=2,stats_detail:maxversions=2,cell_plan:maxversions=2"

  2. Répertoriez les familles de colonnes :

       cbt ls test_table

    Le terminal affiche un résultat semblable à celui-ci :

        Family Name       GC Policy
        -----------       ---------
        stats_detail        versions() > 2
        stats_summary       versions() > 2
        cell_plan           versions() > 2

Remplir la table

  1. Copiez les commandes suivantes dans la fenêtre de votre terminal, puis appuyez sur Enter.

      cbt set test_table phone#4c410523#20190501 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190405.003 cell_plan:data_plan_01gb=true cell_plan:data_plan_05gb=true
      cbt set test_table phone#4c410523#20190502 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190405.004 cell_plan:data_plan_05gb=true
      cbt set test_table phone#4c410523#20190505 stats_summary:connected_cell=0 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190406.000
      cbt set test_table phone#5c10102#20190501 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190401.002 cell_plan:data_plan_10gb=true
      cbt set test_table tablet#5c10102#20190502 stats_summary:connected_cell=1 stats_summary:connected_wifi=0 stats_summary:os_build=PQ2A.190406.000 cell_plan:data_plan_10gb=true
  2. Utilisez la commande cbt read pour lire les données que vous avez ajoutées à la table :

       cbt read test_table

    Le terminal affiche un résultat semblable à celui-ci. Notez que les horodatages sont attribués aux cellules de manière automatique, car votre requête d'écriture n'inclut pas d'horodatages.

        ----------------------------------------
        phone#4c410523#20190501
          cell_plan:data_plan_01gb                 @ 2023/09/23-11:44:10.535000
            "true"
          cell_plan:data_plan_05gb                 @ 2023/09/23-11:44:10.535000
            "true"
          stats_summary:connected_cell             @ 2023/09/23-11:44:10.535000
            "1"
          stats_summary:connected_wifi             @ 2023/09/23-11:44:10.535000
            "1"
          stats_summary:os_build                   @ 2023/09/23-11:44:10.535000
            "PQ2A.190405.003"
        ----------------------------------------
        phone#4c410523#20190502
          cell_plan:data_plan_05gb                 @ 2023/09/23-11:44:11.545000
            "true"
          stats_summary:connected_cell             @ 2023/09/23-11:44:11.545000
            "1"
          stats_summary:connected_wifi             @ 2023/09/23-11:44:11.545000
            "1"
          stats_summary:os_build                   @ 2023/09/23-11:44:11.545000
            "PQ2A.190405.004"
        ----------------------------------------
        phone#4c410523#20190505\
          stats_summary:connected_cell             @ 2023/09/23-11:44:12.503000
            "0"
          stats_summary:connected_wifi             @ 2023/09/23-11:44:12.503000
            "1"
          stats_summary:os_build                   @ 2023/09/23-11:44:12.503000
            "PQ2A.190406.000"
        ----------------------------------------
        phone#5c10102#20190501
          cell_plan:data_plan_10gb                 @ 2023/09/23-11:44:13.553000
            "true"
          stats_summary:connected_cell             @ 2023/09/23-11:44:13.553000
            "1"
          stats_summary:connected_wifi             @ 2023/09/23-11:44:13.553000
            "1"
          stats_summary:os_build                   @ 2023/09/23-11:44:13.553000
            "PQ2A.190401.002"
        ----------------------------------------
        tablet#5c10102#20190502
          cell_plan:data_plan_10gb                 @ 2023/09/23-11:44:14.480000
            "true"
          stats_summary:connected_cell             @ 2023/09/23-11:44:14.480000
            "1"
          stats_summary:connected_wifi             @ 2023/09/23-11:44:14.480000
            "0"
          stats_summary:os_build                   @ 2023/09/23-11:44:14.480000
                 "PQ2A.190406.000"
    
  3. Facultatif: Écrivez les nouvelles valeurs sur les mêmes lignes et colonnes. Bigtable crée de nouvelles cellules avec de nouveaux codes temporels pour stocker les nouvelles versions des données. Copiez les commandes suivantes dans votre terminal. fenêtre et appuyez sur Enter.

      cbt set test_table phone#4c410523#20190501 stats_summary:connected_cell=2 stats_summary:connected_wifi=5 stats_summary:os_build=PQ2A.190405.003 cell_plan:data_plan_01gb=true cell_plan:data_plan_05gb=false
      cbt set test_table phone#4c410523#20190502 stats_summary:connected_cell=2 stats_summary:connected_wifi=5 stats_summary:os_build=PQ2A.190405.004 cell_plan:data_plan_05gb=false
      cbt set test_table phone#4c410523#20190505 stats_summary:connected_cell=1 stats_summary:connected_wifi=4 stats_summary:os_build=PQ2A.190406.000
      cbt set test_table phone#5c10102#20190501 stats_summary:connected_cell=3 stats_summary:connected_wifi=3 stats_summary:os_build=PQ2A.190401.002 cell_plan:data_plan_10gb=false
      cbt set test_table tablet#5c10102#20190502 stats_summary:connected_cell=2 stats_summary:connected_wifi=0 stats_summary:os_build=PQ2A.190406.000 cell_plan:data_plan_10gb=false
  4. Utilisez la commande cbt read pour lire toutes les données de la table:

       cbt read test_table

    Le terminal affiche un résultat semblable à celui-ci. Chaque colonne contient désormais deux cellules avec des codes temporels uniques.

      ----------------------------------------
      phone#4c410523#20190501
        cell_plan:data_plan_01gb                 @ 2024/07/09-17:48:21.191000
        "true"
        cell_plan:data_plan_01gb                 @ 2024/07/09-17:46:09.369000
        "true"
        cell_plan:data_plan_05gb                 @ 2024/07/09-17:48:21.191000
        "false"
        cell_plan:data_plan_05gb                 @ 2024/07/09-17:46:09.369000
        "true"
        stats_summary:connected_cell             @ 2024/07/09-17:48:21.191000
        "2"
        stats_summary:connected_cell             @ 2024/07/09-17:46:09.369000
        "1"
        stats_summary:connected_wifi             @ 2024/07/09-17:48:21.191000
        "5"
        stats_summary:connected_wifi             @ 2024/07/09-17:46:09.369000
        "1"
        stats_summary:os_build                   @ 2024/07/09-17:48:21.191000
        "PQ2A.190405.003"
        stats_summary:os_build                   @ 2024/07/09-17:46:09.369000
        "PQ2A.190405.003"
    
      ----------------------------------------
      phone#4c410523#20190502
        cell_plan:data_plan_05gb                 @ 2024/07/09-17:48:22.205000
        "false"
        cell_plan:data_plan_05gb                 @ 2024/07/09-17:46:10.455000
        "true"
        stats_summary:connected_cell             @ 2024/07/09-17:48:22.205000
        "2"
        stats_summary:connected_cell             @ 2024/07/09-17:46:10.455000
        "1"
         stats_summary:connected_wifi             @ 2024/07/09-17:48:22.205000
        "5"
        stats_summary:connected_wifi             @ 2024/07/09-17:46:10.455000
        "1"
        stats_summary:os_build                   @ 2024/07/09-17:48:22.205000
        "PQ2A.190405.004"
        stats_summary:os_build                   @ 2024/07/09-17:46:10.455000
        "PQ2A.190405.004"
    
      ----------------------------------------
      phone#4c410523#20190505
        stats_summary:connected_cell             @ 2024/07/09-17:48:23.206000
        "1"
        stats_summary:connected_cell             @ 2024/07/09-17:46:11.402000
        "0"
        stats_summary:connected_wifi             @ 2024/07/09-17:48:23.206000
        "4"
        stats_summary:connected_wifi             @ 2024/07/09-17:46:11.402000
        "1"
        stats_summary:os_build                   @ 2024/07/09-17:48:23.206000
        "PQ2A.190406.000"
        stats_summary:os_build                   @ 2024/07/09-17:46:11.402000
        "PQ2A.190406.000"
    
      ----------------------------------------
      phone#5c10102#20190501
        cell_plan:data_plan_10gb                 @ 2024/07/09-17:48:24.172000
        "false"
        cell_plan:data_plan_10gb                 @ 2024/07/09-17:46:12.388000
        "true"
        stats_summary:connected_cell             @ 2024/07/09-17:48:24.172000
        "3"
        stats_summary:connected_cell             @ 2024/07/09-17:46:12.388000
        "1"
        stats_summary:connected_wifi             @ 2024/07/09-17:48:24.172000
        "3"
        stats_summary:connected_wifi             @ 2024/07/09-17:46:12.388000
        "1"
        stats_summary:os_build                   @ 2024/07/09-17:48:24.172000
        "PQ2A.190401.002"
        stats_summary:os_build                   @ 2024/07/09-17:46:12.388000
        "PQ2A.190401.002"
    
      ----------------------------------------
      tablet#5c10102#20190502
        cell_plan:data_plan_10gb                 @ 2024/07/09-17:48:25.194000
        "false"
        cell_plan:data_plan_10gb                 @ 2024/07/09-17:46:13.391000
        "true"
        stats_summary:connected_cell             @ 2024/07/09-17:48:25.194000
        "2"
        stats_summary:connected_cell             @ 2024/07/09-17:46:13.391000
        "1"
        stats_summary:connected_wifi             @ 2024/07/09-17:48:25.194000
        "0"
        stats_summary:connected_wifi             @ 2024/07/09-17:46:13.391000
        "0"
        stats_summary:os_build                   @ 2024/07/09-17:48:25.194000
        "PQ2A.190406.000"
        stats_summary:os_build                   @ 2024/07/09-17:46:13.391000
        "PQ2A.190406.000"
    

Utiliser les données de test

Vous pouvez désormais utiliser test_table sur test-instance pour tester des exemples de code ou des requêtes.

Effectuer un nettoyage

Afin d'éviter que des frais ne soient facturés sur votre compte Google Cloud pour les ressources créées lors de ces étapes, supprimez l'instance dès que vous avez terminé vos tests. Dès lors que vous supprimez le fichier .cbtrc, vous êtes prêt à travailler sur un autre projet.

  1. Si vous souhaitez conserver l'instance, mais supprimer la table, vous pouvez utiliser la commande deletetable :

       cbt deletetable test_table

  2. Si vous ne prévoyez pas d'utiliser l'instance pour effectuer des tests supplémentaires, supprimez-la. Cette action supprime également la table.

       cbt deleteinstance test-instance

  3. Supprimez le fichier .cbtrc :

       rm ~/.cbtrc

Étape suivante