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

Le générateur de requêtes Bigtable Studio vous permet d'utiliser des sélecteurs de menus déroulants pour spécifier une combinaison de clauses de requête sans avoir à écrire une application ni à utiliser une 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 propose des conseils pour optimiser vos requêtes. Avant de lire cette page, vous devez avoir pris connaissance de la présentation de Bigtable.

Les requêtes exécutées dans le générateur 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:

  • 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 Bigtable ainsi que les utilisateurs expérimentés qui ne souhaitent pas utiliser la CLI cbt.

Avant de commencer

Pour obtenir les autorisations nécessaires pour utiliser le générateur de requêtes, demandez à votre administrateur de vous attribuer le rôle IAM Lecteur Bigtable (roles/bigtable.reader) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour utiliser le générateur 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 le générateur 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 s'affiche pour la première table de l'instance dans l'ordre alphabétique. La requête par défaut est exécutée à l'aide du profil d'application par défaut et renvoie jusqu'à 100 lignes.

  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 Explorateur fournit la liste des tables de l'instance, tandis que le volet Résultats de la requête affiche les résultats de la requête par défaut.

  4. Facultatif: Réduisez le volet Explorateur 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 une table. Le premier en-tête et la première colonne sont Clé de ligne. Les en-têtes restants représentent chacun une colonne de la table Bigtable, exprimée sous la forme d'une famille de colonnes et d'un qualificatif de colonne séparés par le signe 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, dans la famille de colonnes cell_plan.

menu déroulant

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

Sélectionner une table

Dans la liste déroulante Table, sélectionnez 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 avez créé spécifiquement pour une utilisation avec le générateur de requêtes. Cela peut être utile, par exemple, lorsque vous souhaitez isoler le trafic des requêtes à l'aide d'un cluster différent de celui utilisé par votre application principale.

Pour utiliser un autre profil d'application afin d'exécuter la requête suivante, 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 la liste déroulante Profil d'application et choisissez un profil d'application dans la liste des profils de l'instance.

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

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

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

  1. Après avoir sélectionné la table et le profil d'application, ajoutez des clauses à la requête. Pour en savoir plus sur les clauses disponibles, consultez la section suivante.
  2. Après avoir ajouté toutes les clauses, cliquez sur Exécuter.
  3. afficher les résultats.

Clauses de requête

Le générateur de requêtes vous permet d'ajouter des clauses à votre requête. Lorsque vous exécutez la requête, le générateur 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 Lecture.

La clé de ligne, la plage de clés de ligne et les clauses de préfixe de clé de ligne déterminent les lignes à extraire 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 le générateur de requêtes fonctionnent de la même manière que dans les bibliothèques clientes. Pour en savoir plus sur les filtres Bigtable et leur utilisation sur les performances, consultez Filtres et Utiliser des filtres.

Spécifier la clé de ligne

Pour récupérer une seule ligne de la table, indiquez 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 extraire une plage de lignes de la table, 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 Row key range (Plage de clés de ligne).
  3. Saisissez la clé de ligne de début complète.
  4. Saisissez la clé de dernière ligne 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 spécifique de caractères, 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, il y a souvent un hashtag, un pipe ou un autre symbole 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 caractères génériques.

Filtrer par expression régulière dans la 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 par clé de ligne. Pour de meilleures 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 obtenir des conseils sur la rédaction de votre expression régulière, consultez la section Expression régulière dans la clé de ligne.

  1. Cliquez sur Ajouter à la requête.
  2. Dans la liste déroulante, sélectionnez Expression régulière dans 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 de colonnes et le qualificatif de colonne pour chaque colonne à utiliser comme filtre. La requête de lecture générée lorsque vous ajoutez cette clause inclut le filtre utilisant l'expression régulière dans la famille de colonnes et le filtre de la 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. La liste des familles de colonnes s'affiche.
  4. Cliquez sur un ID de famille de colonnes. La liste des qualificatifs de colonne 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 certaine plage, ajoutez une clause de plage de temps qui utilise le filtre de plage d'horodatage.

  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 horodatage de fin.

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

  • Un horodatage Unix en microsecondes, par exemple 3023483279876000
  • YYYY-MM-DDThh:mm:ss:ss[z]
  • YYYY/MM/DD-hh:mm:ss.sss[z]
  • MM/DD/YYYY
  • YYYY/MM/DD

La propriété facultative T est un littéral indiquant l'heure, tandis que la valeur facultative z indique l'heure UTC plutôt que l'heure locale. Pour en savoir plus sur les formats d'horodatage, consultez la page ISO 8601.

Spécifier une limite

Pour spécifier un nombre maximal de lignes renvoyées, ajoutez une clause de limite.

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

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é s'affiche, annoté avec le 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 de manière 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 d'afficher 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 d'une cellule, il affiche 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 dans les colonnes que vous interrogez. Pour en savoir plus sur ce concept, consultez les sections Modèle de stockage Bigtable et Concepts généraux.

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

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

Étapes suivantes