Creare query nella console
Puoi eseguire query e visualizzare i dati Bigtable utilizzando lo strumento di creazione di query di Bigtable Studio. Query Builder è un modulo interattivo nella console Google Cloud che ti consente di creare una query, eseguirla su una tabella e visualizzare i risultati nella console.
Il generatore di query di Bigtable Studio ti consente di utilizzare selettori a discesa per specificare una combinazione di clausole di query senza dover scrivere un'applicazione o utilizzare una CLI. Quando esegui la query, la console effettua una chiamata all'API Bigtable Data, che restituisce i dati corrispondenti alla query.
Questo documento descrive come utilizzare il generatore di query e offre suggerimenti per ottimizzare le query. Prima di leggere questa pagina, dovresti acquisire familiarità con la panoramica di Bigtable.
Le query eseguite nel generatore di query sono soggette agli stessi prezzi e quote di qualsiasi altra query inviata a una tabella.
Quando utilizzare Query Builder
La possibilità di eseguire query sui dati Bigtable nella consoleGoogle Cloud è utile quando devi:
- Visualizza rapidamente una rappresentazione visiva dello schema della tabella.
- Verifica che determinati dati siano stati scritti correttamente.
- Convalida l'integrità dei dati durante una migrazione.
- Esegui il debug di possibili problemi relativi ai dati.
- Visualizza l'anteprima dei risultati restituiti da una combinazione specifica di clausole prima di utilizzarle nel codice. Questo può essere particolarmente utile per i nuovi
utenti di Bigtable, nonché per gli utenti esperti che non vogliono utilizzare
l'interfaccia a riga di comando
cbt
.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per utilizzare il generatore di query, chiedi all'amministratore di concederti il ruolo IAM Bigtable Reader (roles/bigtable.reader
) sul progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare il generatore di query. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per utilizzare il generatore di query sono necessarie le seguenti autorizzazioni:
-
bigtable.tables.get
-
bigtable.instances.get
-
bigtable.appProfiles.list
-
bigtable.tables.list
-
bigtable.tables.readRows
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Se non hai una tabella su cui eseguire query, puoi creare una piccola tabella di test ed eseguire le query su questa tabella.
Apri Query Builder
Quando apri Query Builder, viene eseguita e visualizzata una query predefinita per la prima tabella in ordine alfabetico nell'istanza. La query predefinita viene eseguita utilizzando il profilo app predefinito e vengono restituite fino a 100 righe.
Apri l'elenco delle istanze Bigtable nella console Google Cloud .
Fai clic sul nome dell'istanza che contiene la tabella che vuoi interrogare.
Nel riquadro di navigazione, fai clic su Bigtable Studio. Si apre la pagina Bigtable Studio in modalità Query Builder. Il riquadro Explorer fornisce un elenco delle tabelle nell'istanza, mentre il riquadro Risultati delle query mostra i risultati della query predefinita.
(Facoltativo) Comprimi il riquadro Explorer per ingrandire il riquadro di Query Builder.
Formato di visualizzazione dei dati
I risultati del generatore di query vengono visualizzati in una tabella. La prima intestazione e colonna è
Chiave riga. Le intestazioni rimanenti rappresentano ciascuna una colonna nella
tabella Bigtable, espressa come famiglia di colonne e qualificatore
di colonna separati da due punti. Ad esempio, l'intestazione
cell_plan: data_plan_01gb indica che i valori in quella colonna provengono dalla
colonna data_plan_01gb
nella famiglia di colonne cell_plan
.
Viene restituito solo il valore più recente per una colonna. I timestamp sono nascosti per impostazione predefinita, ma puoi fare clic sul pulsante di attivazione/disattivazione per visualizzarli.
Seleziona una tabella
Utilizza il menu a discesa Tabella per selezionare l'ID della tabella che vuoi interrogare.
(Facoltativo) Specifica un profilo dell'app
Puoi utilizzare un profilo app creato appositamente per l'utilizzo con lo strumento di creazione delle query. Ciò può essere utile, ad esempio, quando vuoi isolare il traffico delle query utilizzando un cluster diverso da quello utilizzato dall'applicazione principale.
Per utilizzare un profilo app diverso per eseguire la query successiva, segui questi passaggi.
- Fai clic su Aggiungi alla query.
- Fai clic su Modifica il profilo dell'app (impostazione predefinita). Viene visualizzato un nuovo menu a discesa.
- Utilizza il menu a discesa Profilo app e scegli dall'elenco dei profili app dell'istanza.
Per saperne di più sui vantaggi dell'utilizzo di profili app diversi per carichi di lavoro diversi, vedi Informazioni sui profili app. Per scoprire come creare un profilo di app, consulta la sezione Creazione e configurazione di profili di app.
Se la tabella si trova in un'istanza che utilizza la replica, configura il profilo dell'app in modo che legga dal cluster geograficamente più vicino a te.
Aggiungi clausole alla query e poi eseguila
- Dopo aver selezionato la tabella e il profilo dell'app, aggiungi clausole alla query. Consulta la sezione successiva per informazioni dettagliate sulle clausole disponibili.
- Dopo aver aggiunto tutte le clausole, fai clic su Esegui.
- Visualizzare i risultati.
Clausole di query
Utilizzi Query Builder per aggiungere clausole alla query. Quando esegui la query, il generatore di query crea e invia una richiesta di lettura alla tabella. Per saperne di più sulle richieste di lettura, consulta Letture.
Le clausole relative alla chiave di riga, all'intervallo di chiavi di riga e al prefisso della chiave di riga determinano le righe che vengono recuperate dallo spazio di archiviazione. Le clausole relative a espressioni regolari, colonne e intervallo di tempo della chiave di riga aggiungono un filtro alla richiesta di lettura generata. I filtri che utilizzi nel generatore di query funzionano allo stesso modo di quando li utilizzi nelle librerie client. Per informazioni dettagliate sui filtri Bigtable e su come il loro utilizzo può influire sulle prestazioni, consulta Filtri e Utilizzare i filtri .
Specifica la chiave di riga
Per recuperare una singola riga dalla tabella, fornisci un valore della chiave di riga. Puoi aggiungere più clausole dichiave di rigaa.
- Fai clic su Aggiungi alla query.
- Nell'elenco a discesa, seleziona Chiave riga.
- Inserisci il valore esatto della chiave di riga per cui vuoi visualizzare i valori.
Specifica un intervallo di chiave di riga
Per recuperare un intervallo di righe dalla tabella, specifica una chiave di riga iniziale e finale. Bigtable archivia i dati in ordine lessicografico in base alla chiave di riga.
- Fai clic su Aggiungi alla query.
- Nell'elenco a discesa, seleziona Intervallo di chiavi di riga.
- Inserisci la chiave di riga iniziale completa.
- Inserisci la chiave di riga finale completa.
Specifica un prefisso della chiave di riga
Per recuperare solo le righe le cui chiavi di riga iniziano con un insieme specifico di caratteri, filtra per prefisso della chiave di riga. Un prefisso della chiave di riga è costituito dai primi N caratteri di una chiave di riga. Per convenzione, spesso è presente un hashtag, una barra verticale o un altro simbolo tra il prefisso e il resto della chiave di riga.
- Fai clic su Aggiungi alla query.
- Nell'elenco a discesa, seleziona Prefisso chiave riga.
- Inserisci un prefisso della chiave di riga. Non è necessario inserire simboli jolly.
Filtra per espressione regolare della chiave di riga
Per ottenere solo le righe i cui valori della chiave di riga corrispondono a un'espressione regolare specificata, utilizza un filtro regex della chiave di riga. Per un rendimento migliore, aggiungi una clausola di intervallo di chiavi di riga o di prefisso della chiave di riga alla query prima di aggiungere il filtro regex della chiave di riga. Per indicazioni sulla composizione dell'espressione regolare, consulta Espressione regolare della chiave di riga .
- Fai clic su Aggiungi alla query.
- Nell'elenco a discesa, seleziona Espressione regolare della chiave di riga.
- Inserisci un'espressione regolare che utilizzi la sintassi re2
Filtrare per colonna
Per specificare una o più colonne da includere nella query, aggiungi una clausola columns, scegliendo la famiglia di colonne e il qualificatore di colonna per ogni colonna in base alla quale vuoi filtrare. La richiesta di lettura generata quando aggiungi questa clausola include il filtro regex della famiglia di colonne e il filtro intervallo di colonne .
- Fai clic su Aggiungi alla query.
- Nell'elenco a discesa, seleziona Colonne.
- Fai clic nel campo Colonne. Viene visualizzato un elenco di famiglie di colonne.
- Fai clic su un ID famiglia di colonne. Viene visualizzato un elenco di qualificatori di colonna.
- Fai clic su un qualificatore di colonna.
Filtra per intervallo di tempo
Per recuperare solo le celle con un timestamp compreso in un determinato intervallo, aggiungi una clausola di intervallo di tempo, che utilizza il filtro per intervallo di timestamp.
- Fai clic su Aggiungi alla query.
- Nell'elenco a discesa, seleziona Intervallo di tempo.
- Inserisci un timestamp di inizio.
- Inserisci un timestamp di fine.
Fornisci un timestamp in uno dei seguenti formati:
- Un timestamp Unix in microsecondi, ad esempio
3023483279876000
- YYYY-MM-DDThh:mm:ss:ss[z]
- YYYY/MM/DD-hh:mm:ss.sss[z]
- MM/GG/AAAA
- AAAA/MM/GG
T
facoltativo è un valore letterale che indica l'ora, mentre z
facoltativo
indica l'ora UTC anziché l'ora locale. Per ulteriori informazioni sui formati dei timestamp, consulta la sezione ISO
8601.
Specifica un limite
Per specificare un numero massimo di righe restituite, aggiungi una clausola LIMIT.
- Fai clic su Aggiungi alla query.
- Nell'elenco a discesa, seleziona Limite.
- Inserisci un numero compreso tra 1 e 100.
Limitazioni
Al generatore di query si applicano le seguenti limitazioni.
- 1000 caratteri per cella: Bigtable restituisce un massimo di 1000 caratteri per cella. Se una cella contiene più di 1000 caratteri, viene visualizzato un risultato troncato, annotato con il numero di caratteri non visualizzati.
- Massimo 100 colonne: Bigtable restituisce le prime 100 colonne di ogni riga che corrispondono alla query. Le famiglie di colonne non vengono memorizzate in un ordine particolare, ma le colonne vengono ordinate in ordine lessicografico all'interno della famiglia di colonne.
- Massimo 1000 righe: il generatore di query restituisce un massimo di 1000 righe di dati che corrispondono alla query.
- Base64: Bigtable si impegna al massimo per visualizzare con precisione i dati codificati in Base64, ma i risultati non sono garantiti. Se Bigtable non è in grado di visualizzare i dati in una cella, mostra le dimensioni del valore della cella in byte.
Dati precedenti: puoi recuperare solo la cella (o la versione) più recente nelle colonne che interroghi. Per maggiori dettagli su questo concetto, vedi Modello di archiviazione Bigtable e Concetti generali.
Dati serializzati: i dati archiviati come protocol buffer non vengono visualizzati correttamente nei risultati della query. I dati JSON sono supportati meglio, ma non è garantito che vengano visualizzati correttamente.
Timestamp artificiali: se la tua applicazione assegna numeri non timestamp alla proprietà timestamp delle celle quando scrive dati nella tabella, puoi utilizzare i filtri dell'intervallo di tempo nella query per ottenere un intervallo dei valori che utilizzi al posto dei timestamp, a condizione che li specifichi come microsecondi. Per capire perché i dati della tabella potrebbero utilizzare timestamp artificiali, vedi Timestamp.