Créer des requêtes dans la console

Vous pouvez interroger et afficher vos données Bigtable à l'aide du Générateur de requêtes de Bigtable Studio. Le générateur de requêtes est un formulaire interactif dans la console Google Cloud qui vous permet de créer une requête, de l'exécuter sur une table, puis d'afficher les résultats dans la console.

L'outil de création de requêtes Bigtable Studio vous permet d'utiliser des sélecteurs déroulants pour spécifier une combinaison de clauses de requête sans avoir à écrire d'application ni à utiliser de CLI. Lorsque vous exécutez la requête, la console appelle l'API Bigtable Data, qui renvoie les données correspondant à votre requête.

Ce document explique comment utiliser le générateur de requêtes et fournit des conseils pour optimiser vos requêtes. Avant de lire cette page, vous devez avoir lu la présentation de Bigtable.

Les requêtes exécutées dans l'outil de création de requêtes sont soumises aux mêmes tarifs et quotas que toute autre requête envoyée à une table.

Quand utiliser le générateur de requêtes

La possibilité d'interroger vos données Bigtable dans la console Google Cloud est utile lorsque vous devez effectuer les opérations suivantes:

  • Obtenez rapidement une représentation visuelle du schéma de votre table.
  • Vérifiez que certaines données ont bien été écrites.
  • Validez l'intégrité des données lors d'une migration.
  • Déboguer les éventuels problèmes de données.
  • Prévisualisez les résultats renvoyés par une combinaison spécifique de clauses avant de les utiliser dans votre code. Cela peut être particulièrement utile pour les nouveaux utilisateurs de Bigtable, ainsi que pour les utilisateurs expérimentés qui ne souhaitent pas utiliser la CLI cbt.

Avant de commencer

Pour obtenir les autorisations nécessaires pour utiliser l'outil de création de requêtes, demandez à votre administrateur de vous accorder le rôle IAM Lecteur Bigtable (roles/bigtable.reader) sur le 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.

Ce rôle prédéfini contient les autorisations requises pour utiliser l'outil de création de requêtes. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour utiliser l'outil de création de requêtes:

  • bigtable.tables.get
  • bigtable.instances.get
  • bigtable.appProfiles.list
  • bigtable.tables.list
  • bigtable.tables.readRows

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

Si vous n'avez pas de table à interroger, vous pouvez créer une petite table de test et y exécuter vos requêtes.

Ouvrir le générateur de requêtes

Lorsque vous ouvrez le générateur de requêtes, une requête par défaut est exécutée et affichée pour le premier tableau de l'instance par ordre alphabétique. La requête par défaut est exécutée à l'aide du profil d'application par défaut, et jusqu'à 100 lignes sont renvoyées.

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud.

    Ouvrir la liste des instances

  2. Cliquez sur le nom de l'instance contenant la table que vous souhaitez interroger.

  3. Dans le volet de navigation, cliquez sur Bigtable Studio. La page Bigtable Studio s'ouvre en mode générateur de requêtes. Le volet Explorer fournit une liste des tables de l'instance, et le volet Query results (Résultats de la requête) affiche les résultats de la requête par défaut.

  4. Facultatif: réduisez le volet Explorer pour agrandir le volet du générateur de requêtes.

Format d'affichage des données

Les résultats du générateur de requêtes sont affichés dans un tableau. Le premier en-tête et la première colonne sont Clé de ligne. Les autres en-têtes représentent chacun une colonne de la table Bigtable, exprimée sous la forme de la famille de colonnes et du qualificatif de colonne séparés par un deux-points. Par exemple, l'en-tête cell_plan: data_plan_01gb indique que les valeurs de cette colonne proviennent de la colonne data_plan_01gb de la famille de colonnes cell_plan.

menu déroulant

Seule la valeur la plus récente d'une colonne est renvoyée. Les codes temporels sont masqués par défaut, mais vous pouvez cliquer sur le bouton bascule pour les afficher.

Sélectionner une table

Utilisez le menu déroulant Table pour sélectionner l'ID de la table que vous souhaitez interroger.

Facultatif: Spécifier un profil d'application

Vous pouvez utiliser un profil d'application que vous créez spécifiquement pour l'utiliser avec l'outil de création de requêtes. Cela peut être utile, par exemple, lorsque vous souhaitez isoler le trafic de requêtes en utilisant un cluster différent de celui utilisé par votre application principale.

Pour utiliser un autre profil d'application pour exécuter votre prochaine requête, procédez comme suit :

  1. Cliquez sur Ajouter à la requête.
  2. Cliquez sur Modifier le profil d'application (par défaut). Un nouveau menu déroulant s'affiche.
  3. Utilisez le menu déroulant Profil d'application et choisissez parmi la liste des profils d'application de l'instance.

Pour en savoir plus sur les avantages d'utiliser différents profils d'application pour différentes charges de travail, consultez la section À propos des profils d'application. Pour savoir comment créer un profil d'application, consultez la section Créer et configurer des profils d'application.

Si votre table se trouve dans une instance qui utilise la réplication, configurez le profil de votre application pour qu'elle lise à partir du cluster le plus proche géographiquement.

Ajouter des clauses à la requête, puis l'exécuter

  1. Une fois que vous avez sélectionné le tableau et le profil de l'application, ajoutez des clauses à la requête. Pour en savoir plus sur les clauses disponibles, consultez la section suivante.
  2. Une fois que vous avez ajouté toutes vos clauses, cliquez sur Exécuter.
  3. afficher les résultats.

Clauses de requête

Vous utilisez le générateur de requêtes pour ajouter des clauses à votre requête. Lorsque vous exécutez la requête, l'outil de création de requêtes crée et envoie une requête de lecture à votre table. Pour en savoir plus sur les requêtes de lecture, consultez la section Lectures.

Les clauses de clé de ligne, de plage de clé de ligne et de préfixe de clé de ligne déterminent les lignes extraites du stockage. Les clauses d'expression régulière de clé de ligne, de colonnes et de période ajoutent un filtre à la requête de lecture générée. Les filtres que vous utilisez dans l'outil de création de requêtes fonctionnent de la même manière que lorsque vous les utilisez dans les bibliothèques clientes. Pour en savoir plus sur les filtres Bigtable et leur impact sur les performances, consultez les pages Filtres et Utiliser des filtres.

Spécifier la clé de ligne

Pour récupérer une seule ligne du tableau, fournissez une valeur de clé de ligne. Vous pouvez ajouter plusieurs clauses de clé de ligne.

  1. Cliquez sur Ajouter à la requête.
  2. Dans la liste déroulante, sélectionnez Clé de ligne.
  3. Saisissez la valeur exacte de la clé de ligne pour laquelle vous souhaitez afficher les valeurs.

Spécifier une plage de clés de ligne

Pour récupérer une plage de lignes du tableau, spécifiez une clé de ligne de début et de fin. Bigtable stocke les données dans l'ordre lexicographique par clé de ligne.

  1. Cliquez sur Ajouter à la requête.
  2. Dans la liste déroulante, sélectionnez Plage de clés de ligne.
  3. Saisissez la clé de ligne de début complète.
  4. Saisissez la clé de ligne de fin complète.

Spécifier un préfixe de clé de ligne

Pour ne récupérer que les lignes dont les clés de ligne commencent par un ensemble de caractères spécifique, filtrez par préfixe de clé de ligne. Un préfixe de clé de ligne correspond aux N premiers caractères d'une clé de ligne. Par convention, un hashtag, un pipe ou un autre symbole est souvent placé entre le préfixe et le reste de la clé de ligne.

  1. Cliquez sur Ajouter à la requête.
  2. Dans la liste déroulante, sélectionnez Préfixe de clé de ligne.
  3. Saisissez un préfixe de clé de ligne. Vous n'avez pas besoin de saisir de symboles génériques.

Filtrer par expression régulière de clé de ligne

Pour n'obtenir que les lignes dont les valeurs de clé de ligne correspondent à une expression régulière spécifiée, utilisez un filtre d'expression régulière de clé de ligne. Pour améliorer les performances, ajoutez une plage de clés de ligne ou une clause de préfixe de clé de ligne à la requête avant d'ajouter le filtre d'expression régulière de clé de ligne. Pour savoir comment composer votre expression régulière, consultez la section Expression régulière de clé de ligne.

  1. Cliquez sur Ajouter à la requête.
  2. Dans la liste déroulante, sélectionnez Expression régulière de la clé de ligne.
  3. Saisissez une expression régulière qui utilise la syntaxe RE2.

Filtrer par colonne

Pour spécifier une ou plusieurs colonnes à inclure dans la requête, ajoutez une clause columns, en choisissant la famille et le qualificatif de colonne pour chaque colonne que vous souhaitez filtrer. La requête de lecture générée lorsque vous ajoutez cette clause inclut le filtre d'expression régulière de la famille de colonnes et le filtre de plage de colonnes.

  1. Cliquez sur Ajouter à la requête.
  2. Dans la liste déroulante, sélectionnez Colonnes.
  3. Cliquez dans le champ "Colonnes". Une liste des familles de colonnes s'affiche.
  4. Cliquez sur un ID de famille de colonnes. Une liste de qualificatifs de colonnes s'affiche.
  5. Cliquez sur un qualificatif de colonne.

Filtrer par période

Pour ne récupérer que les cellules dont l'horodatage est compris dans une plage donnée, ajoutez une clause de plage temporelle, qui utilise le filtre de plage d'horodatages.

  1. Cliquez sur Ajouter à la requête.
  2. Dans la liste déroulante, sélectionnez Période.
  3. Saisissez un code temporel de début.
  4. Saisissez un code temporel de fin.

Indiquez un code temporel dans l'un des formats suivants:

  • Code temporel Unix en microsecondes, par exemple 3023483279876000
  • YYYY-MM-DDThh:mm:ss:ss[z]
  • YYYY/MM/DD-hh:mm:ss.sss[z]
  • MM/JJ/AAAA
  • AAAA/MM/JJ

T facultatif est un littéral qui indique l'heure, et z facultatif indique l'heure UTC plutôt que l'heure locale. Pour en savoir plus sur les formats de code temporel, consultez ISO 8601.

Spécifier une limite

Pour spécifier le nombre maximal de lignes renvoyées, ajoutez une clause limit.

  1. Cliquez sur Ajouter à la requête.
  2. Dans la liste déroulante, sélectionnez Limit (Limiter).
  3. Saisissez un nombre compris entre 1 et 1 00.

Limites

Les limites suivantes s'appliquent au générateur de requêtes.

  • 1 000 caractères par cellule : Bigtable renvoie un maximum de 1 000 caractères par cellule. Si une cellule contient plus de 1 000 caractères, un résultat tronqué est affiché, annoté du nombre de caractères non affichés.
  • 100 colonnes maximum : Bigtable renvoie les 100 premières colonnes de chaque ligne correspondant à la requête. Les familles de colonnes ne sont pas stockées dans un ordre particulier, mais les colonnes sont triées par ordre lexicographique au sein de leur famille de colonnes.
  • 1 000 lignes maximum : le générateur de requêtes renvoie au maximum les 1 000 premières lignes de données correspondant à votre requête.
  • Base64 : Bigtable s'efforce de présenter avec précision les données encodées en base64, mais les résultats ne sont pas garantis. Si Bigtable ne parvient pas à afficher les données dans une cellule, il affiche plutôt la taille de la valeur de la cellule en octets.
  • Données plus anciennes : vous ne pouvez récupérer que la cellule (ou la version) la plus récente des colonnes que vous interrogez. Pour en savoir plus sur ce concept, consultez la section Modèle de stockage de Bigtable et Concepts généraux.

  • Données sérialisées : les données stockées en tant que protocoles tampons ne s'affichent pas correctement dans les résultats de la requête. Les données JSON sont mieux prises en charge, mais leur apparence n'est pas garantie.

  • Horodatages artificiels : si votre application attribue des nombres autres que des horodatages à la propriété d'horodatage des cellules lorsqu'elle écrit des données dans votre table, vous pouvez utiliser des filtres de plage temporelle dans votre requête pour obtenir une plage des valeurs que vous utilisez à la place des horodatages, à condition de les spécifier sous forme de microsecondes. Pour comprendre pourquoi les données de votre table peuvent utiliser des horodatages artificiels, consultez Horodatages.

Étape suivante