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 Bigtable Studio. Le générateur de requêtes est un formulaire interactif de la Google Cloud console 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 liste déroulante pour spécifier une combinaison de clauses de requête sans avoir à écrire d'application ni à utiliser d'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 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 Google Cloud console est utile lorsque vous devez effectuer les opérations suivantes :

  • Obtenir rapidement une représentation visuelle du schéma de votre table.
  • Vérifier que certaines données ont bien été écrites.
  • Valider l'intégrité des données lors d'une migration.
  • Déboguer d'éventuels problèmes de données.
  • Prévisualiser 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 l' cbt CLI .

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) rôle IAM sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez 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

Vous devez disposer des autorisations suivantes 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 affichée pour la première table par ordre alphabétique dans l'instance. 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 Google Cloud console.

    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 une liste des tables de l'instance, et 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 un tableau. 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 de la famille de colonnes et du qualificatif de colonne séparés par un 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 de 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 bascule pour les afficher.

Sélectionner une table

Utilisez la liste déroulante 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 une utilisation avec le générateur 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 afin d'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). Une nouvelle liste déroulante s'affiche.
  3. Utilisez la liste déroulante Profil d'application et choisissez parmi la liste des profils d'application de l'instance.

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 des profils d'application .

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

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

Vous utilisez le générateur de requêtes pour 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és 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 le générateur 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 sur leur impact sur les performances, consultez les sections Filtres et Utiliser des filtres .

Spécifier une clé de ligne

Pour récupérer une seule ligne de la table, 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 de la table, spécifiez une clé de ligne de début et de fin. Bigtable stocke les données par 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 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, un hashtag, une barre verticale 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 caractères 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 clause de plage de clés de ligne ou 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 composition de 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 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 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 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 de 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 se situe dans une certaine plage, ajoutez une clause de période 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 horodatage de début.
  4. Saisissez un horodatage de fin.

Fournissez un horodatage dans l'un des formats suivants :

  • Un horodatage 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. Pour en savoir plus sur les formats d'horodatage, consultez la norme 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 Limite.
  3. Saisissez un nombre compris entre 1 et 1 000.

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 par ordre lexicographique au sein de leur famille de colonnes.
  • 1 000 lignes maximum : le générateur de requêtes renvoie un maximum des 1 000 premières lignes de données correspondant à votre requête.
  • Base64 : Bigtable fait de son mieux pour 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 dans une cellule, il affiche à la place la taille de la valeur de la cellule en octets.
  • Anciennes données : 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, 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 Protocol Buffers ne s'affichent pas correctement dans les résultats de la requête. Les données JSON sont mieux prises en charge, mais leur affichage correct n'est pas garanti.
  • Colonnes HyperLogLog (HLL) : les valeurs HLL représentent des ensembles probabilistes. Lorsqu'elles sont affichées dans le tableau de résultats, elles apparaissent sous forme d'octets bruts ou en base64. Pour estimer les cardinalités uniques (comptes) des colonnes HLL, vous devez lire les données à l'aide de la bibliothèque Zetasketch ou utiliser l'éditeur de requêtes avec les fonctions HLL++ de GoogleSQL, telles que HLL_COUNT.EXTRACT.
  • Horodatages artificiels : si votre application attribue des nombres non horodatés à 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 des 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.

Étape suivante