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 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 de menu déroulant 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 consulté la présentation de Bigtable.
Les requêtes exécutées dans l'outil de requête 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 consoleGoogle Cloud est utile lorsque vous devez effectuer les opérations suivantes :
- Obtenez rapidement une représentation visuelle du schéma de votre tableau.
- Vérifiez que certaines données ont bien été écrites.
- Validez l'intégrité des données lors d'une migration.
- Déboguez 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 l'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 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 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 sur laquelle exécuter des requêtes, vous pouvez créer une petite table de test et exécuter vos requêtes dessus.
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 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.
Ouvrez la liste des instances Bigtable dans la console Google Cloud .
Cliquez sur le nom de l'instance contenant la table que vous souhaitez interroger.
Dans le volet de navigation, cliquez sur Bigtable Studio. La page Bigtable Studio s'ouvre en mode Créateur de requêtes. Le volet Explorateur fournit la 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.
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 s'affichent 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
.
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 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 pour exécuter votre prochaine requête, procédez comme suit.
- Cliquez sur Ajouter à la requête.
- Cliquez sur Modifier le profil d'application (par défaut). Un nouveau menu déroulant s'affiche.
- Utilisez le menu déroulant Profil d'application et faites votre choix dans 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 À 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 lire les données du cluster le plus proche géographiquement.
Ajouter des clauses à la requête, puis l'exécuter
- Après avoir sélectionné le tableau et le profil d'application, ajoutez des clauses à la requête. Pour en savoir plus sur les clauses disponibles, consultez la section suivante.
- Une fois que vous avez ajouté toutes vos clauses, cliquez sur Exécuter.
- 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 demande de lecture à votre table. Pour en savoir plus sur les requêtes de lecture, consultez 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 plage de temps 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 sur leur impact sur les performances, consultez Filtres et Utiliser des filtres.
Spécifier la clé de ligne
Pour récupérer une seule ligne du tableau, indiquez une valeur de clé de ligne. Vous pouvez ajouter plusieurs clauses de clé de ligne.
- Cliquez sur Ajouter à la requête.
- Dans la liste déroulante, sélectionnez Clé de ligne.
- 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 une clé de ligne de fin. Bigtable stocke les données dans l'ordre lexicographique par clé de ligne.
- Cliquez sur Ajouter à la requête.
- Dans la liste déroulante, sélectionnez Plage de clés de ligne.
- Saisissez la clé de ligne de début complète.
- Saisissez la clé de ligne de fin complète.
Spécifier un préfixe de clé de ligne
Pour n'extraire 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, un pipe ou un autre symbole sont souvent placés entre le préfixe et le reste de la clé de ligne.
- Cliquez sur Ajouter à la requête.
- Dans la liste déroulante, sélectionnez Préfixe de clé de ligne.
- 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 Expression régulière dans la clé de ligne.
- Cliquez sur Ajouter à la requête.
- Dans la liste déroulante, sélectionnez Expression régulière de la clé de ligne.
- 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 selon laquelle 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.
- Cliquez sur Ajouter à la requête.
- Dans la liste déroulante, sélectionnez Colonnes.
- Cliquez dans le champ "Colonnes". Une liste de familles de colonnes s'affiche.
- Cliquez sur l'ID d'une famille de colonnes. Une liste de qualificatifs de colonne s'affiche.
- Cliquez sur un qualificatif de colonne.
Filtrer par période
Pour n'extraire que les cellules dont l'horodatage se situe dans une certaine plage, ajoutez une clause de plage horaire qui utilise le filtre de plage d'horodatages.
- Cliquez sur Ajouter à la requête.
- Dans la liste déroulante, sélectionnez Période.
- Saisissez un code temporel de début.
- Saisissez un code temporel de fin.
Indiquez un code temporel dans l'un des formats suivants :
- 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
L'élément facultatif T
est un littéral qui indique l'heure, et l'élément facultatif z
indique l'heure UTC plutôt que l'heure locale. Pour en savoir plus sur les formats des codes temporels, consultez ISO 8601.
Spécifier une limite
Pour spécifier un nombre maximal de lignes renvoyées, ajoutez une clause de limite.
- Cliquez sur Ajouter à la requête.
- Dans la liste déroulante, sélectionnez Limiter.
- Saisissez un nombre compris entre 1 et 100.
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, 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 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 place la taille de la valeur de la cellule en octets.
Données 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 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 requête. Les données JSON sont mieux prises en charge, mais il n'est pas garanti qu'elles s'affichent correctement.
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 tableau, vous pouvez utiliser des filtres de plage de dates 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 tableau peuvent utiliser des codes temporels artificiels, consultez Codes temporels.