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 la console Google Cloud, qui permet de créer une requête, de l'exécuter sur une table, puis affichez les résultats dans la console.

Le générateur de requêtes Bigtable Studio vous permet d'utiliser des menus déroulants pour spécifier une combinaison de clauses de requête sans avoir à écrire une ou d'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 fournit des conseils pour optimiser vos requêtes. Avant de lire cette page, vous devez connaître la commande Bigtable présentation pour en savoir plus.

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 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érifier que certaines données ont bien été écrites
  • Validez l'intégrité des données lors d'une migration.
  • Résolvez les éventuels problèmes de données.
  • Prévisualiser les résultats renvoyés par une combinaison spécifique de clauses avant vous les utilisez dans votre code. Cela peut être particulièrement utile pour Bigtable ainsi que les utilisateurs expérimentés qui ne souhaitent pas utiliser la CLI cbt pour en savoir plus.

Avant de commencer

Pour obtenir les autorisations nécessaires pour utiliser le générateur de requêtes, demandez à votre administrateur de vous accorder le 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 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 tableau à interroger, vous pouvez Créer une petite table de test et d'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 de la méthode 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 requête.

  3. Dans le volet de navigation, cliquez sur Bigtable Studio. Bigtable Studio s'ouvre en mode Générateur de requêtes. Le volet Explorateur fournit une liste de l'instance, et le volet Résultats de la requête affiche les résultats 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 une table. Le premier en-tête et la première colonne est Clé de ligne : Les en-têtes restants représentent chacun une colonne du Table Bigtable, exprimée sous la forme de la famille de colonnes et de la 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 du data_plan_01gb dans la famille de colonnes cell_plan.

liste déroulante

Seule la valeur la plus récente d'une colonne est renvoyée. Les codes temporels sont masqués par par défaut, mais vous pouvez cliquer sur le bouton 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 créé spécifiquement pour la requête d'un projet. 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. Dans la liste déroulante Profil d'application, sélectionnez l'option dans la liste des profils d'application.

Pour en savoir plus sur les avantages de l'utilisation de 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 une application profils pour en savoir plus.

Si votre table se trouve dans une instance qui utilise la réplication, configurez votre application à partir du cluster le plus proche géographiquement 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. Consultez la section suivante pour en savoir plus sur les clauses disponibles.
  2. Une fois que vous avez ajouté toutes vos 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 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. L'expression régulière de la clé de ligne, les colonnes et les clauses de période un filtre à la requête de lecture générée. Filtres que vous utilisez dans la requête 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 sur leur utilisation peut affecter les performances, voir Filtres et Utilisez pour en savoir plus.

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 de clés de ligne multiples.

  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 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 récupérer uniquement les lignes dont les clés de ligne commencent par un ensemble spécifique de caractères, filtrer par préfixe de clé de ligne. Un préfixe de clé de ligne correspond aux N premiers caractères d'une ligne . Par convention, il y a souvent un hashtag, une barre verticale ou un autre symbole entre les deux 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 obtenir uniquement 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 clé de ligne à la requête avant d'ajouter le filtre d'expression régulière de la clé de ligne. Pour obtenir des conseils sur la composition de votre expression régulière, reportez-vous à la section Clé de ligne expression régulière pour en savoir plus.

  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 re2 syntaxe

Filtrer par colonne

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

  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 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 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 :

  • Un code temporel Unix en microsecondes, tel que 3023483279876000
  • YYYY-MM-DDThh:mm:ss:ss[z]
  • YYYY/MM/DD-hh:mm:ss.sss[z]
  • MM/JJ/AAAA
  • AAAA/MM/JJ

Le T facultatif est un littéral qui indique l'heure, et le z facultatif indique l'heure UTC plutôt que l'heure locale. En savoir plus sur le code temporel consultez la section ISO 8601 pour en savoir plus.

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é avec le nombre de caractères non affichés.
  • 100 colonnes au maximum : Bigtable renvoie les 100 premières colonnes colonnes dans chaque ligne correspondant à la requête. Les familles de colonnes ne sont pas stockées n'importe quel ordre particulier, mais les colonnes sont triées de manière lexicographique au sein de leur famille de colonnes.
  • 1 000 lignes au maximum : le générateur de requêtes renvoie un maximum de les 1 000 premières lignes de données correspondant à votre requête.
  • Base64 : Bigtable s'efforce de traiter au mieux les données avec précision affiche des 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 Protocol Buffers ne sont pas affichées correctement dans les résultats de la requête. Les données JSON sont mieux prises en charge, mais il n'est pas garanti qu'elles soient correctes.

  • 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 tableau peuvent utiliser des les codes temporels, consultez la section Codes temporels.

Étape suivante