Crea query nella console

Puoi eseguire query e visualizzare i dati di Bigtable utilizzando il generatore di query di Bigtable Studio. Query Builder è un modulo interattivo nella console Google Cloud che consente di creare una query, eseguirla su una tabella e quindi visualizzare i risultati nella console.

Il Query Builder di Bigtable Studio consente di utilizzare selettori a discesa per specificare una combinazione di clausole di query senza dover scrivere un'applicazione o utilizzare un'interfaccia a riga di comando. Quando esegui la query, la console effettua una chiamata all'API Bigtable Data, che restituisce i dati che corrispondono alla query.

Questo documento descrive come utilizzare Query Builder e offre suggerimenti sull'ottimizzazione delle query. Prima di leggere questa pagina, dovresti acquisire familiarità con la panoramica di Bigtable.

Le query eseguite in Query Builder sono soggette agli stessi prezzi e alle stesse quote di qualsiasi altra query inviata a una tabella.

Quando utilizzare Query Builder

La possibilità di eseguire query sui dati di Bigtable nella console Google Cloud è utile quando devi fare quanto segue:

  • Ottieni rapidamente una rappresentazione visiva dello schema della tua tabella.
  • Verifica che alcuni dati siano stati scritti correttamente.
  • Convalida l'integrità dei dati durante una migrazione.
  • Eseguire il debug di possibili problemi relativi ai dati.
  • Visualizza l'anteprima dei risultati restituiti da una combinazione specifica di clausole prima di utilizzarli nel codice. Questo può essere particolarmente utile per i nuovi utenti di Bigtable e 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 Query Builder, chiedi all'amministratore di concederti il ruolo IAM Lettore Bigtable (roles/bigtable.reader) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare Query Builder. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per utilizzare Query Builder sono necessarie le seguenti autorizzazioni:

  • bigtable.tables.get
  • bigtable.instances.get
  • bigtable.appProfiles.list
  • bigtable.tables.list
  • bigtable.tables.readRows

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Se non hai una tabella su cui eseguire la query, puoi creare una piccola tabella di test ed eseguirvi le query.

Apri Query Builder

Quando apri Query Builder, viene eseguita una query predefinita che viene visualizzata per la prima tabella in ordine alfabetico nell'istanza. La query predefinita viene eseguita utilizzando il profilo dell'app predefinito e vengono restituite fino a 100 righe.

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sul nome dell'istanza che contiene la tabella su cui vuoi eseguire una query.

  3. Nel riquadro di navigazione, fai clic su Bigtable Studio. La pagina Bigtable Studio si apre in modalità Query Builder. Il riquadro Explorer fornisce un elenco delle tabelle nell'istanza, mentre il riquadro Risultati query mostra i risultati della query predefinita.

  4. (Facoltativo) Comprimi il riquadro Explorer per ingrandire il riquadro di Query Builder.

Formato di visualizzazione dei dati

I risultati di Query Builder vengono visualizzati in una tabella. La prima intestazione e colonna è Chiave di 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 di quella colonna provengono dalla colonna data_plan_01gb nella famiglia di colonne cell_plan.

menu a discesa

Viene restituito solo il valore più recente di 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 su cui vuoi eseguire la query.

(Facoltativo) Specifica un profilo dell'app

Puoi utilizzare un profilo dell'app che hai creato appositamente per l'utilizzo con lo strumento per la creazione di 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 dell'app diverso per eseguire la query successiva, procedi nel seguente modo.

  1. Fai clic su Aggiungi alla query.
  2. Fai clic su Cambia profilo app (predefinito). Viene visualizzato un nuovo menu a discesa.
  3. Utilizza il menu a discesa Profilo app e scegli dall'elenco dei profili delle app dell'istanza.

Per ulteriori informazioni sui vantaggi dell'utilizzo di profili di app diversi per carichi di lavoro diversi, consulta Informazioni sui profili di app. Per scoprire come creare un profilo di app, consulta Creare e configurare 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 ed eseguila

  1. Dopo aver selezionato la tabella e il profilo dell'app, aggiungi clausole alla query. Consulta la prossima sezione per maggiori dettagli sulle clausole disponibili.
  2. Dopo aver aggiunto tutte le clausole, fai clic su Esegui.
  3. Visualizzare i risultati.

Clausole di query

Puoi utilizzare Query Builder per aggiungere clausole alla query. Quando esegui la query, il Query Builder crea e invia una richiesta di lettura alla tabella. Per scoprire di più sulle richieste di lettura, consulta Letture.

Le clausole della chiave di riga, dell'intervallo di chiavi di riga e del prefisso della chiave di riga determinano le righe che vengono recuperate dallo spazio di archiviazione. L'espressione regolare della chiave di riga, le colonne e le clausole dell'intervallo di tempo aggiungono un filtro alla richiesta di lettura generata. I filtri utilizzati nel generatore di query funzionano come quando li utilizzi nelle librerie client. Per maggiori dettagli 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 una coppia chiave-valore di riga. Puoi aggiungere più clausole chiave di riga.

  1. Fai clic su Aggiungi alla query.
  2. Nell'elenco a discesa, seleziona Chiave di riga.
  3. 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 per chiave di riga.

  1. Fai clic su Aggiungi alla query.
  2. Nell'elenco a discesa, seleziona Intervallo chiavi di riga.
  3. Inserisci la chiave completa della riga iniziale.
  4. 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. Il prefisso della chiave di riga è il primo N 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.

  1. Fai clic su Aggiungi alla query.
  2. Nell'elenco a discesa, seleziona Prefisso chiave di riga.
  3. Inserisci un prefisso della chiave di riga. Non è necessario inserire simboli jolly.

Filtra per regex della chiave di riga

Per ottenere solo le righe le cui coppie chiave-valore di riga corrispondono a un'espressione regolare specificata, utilizza un filtro regex con la chiave di riga. Per migliorare le prestazioni, aggiungi alla query una clausola del prefisso di chiavi di riga o di riga prima di aggiungere il filtro regex della chiave di riga. Per indicazioni sulla composizione dell'espressione regolare, consulta regex chiave di riga.

  1. Fai clic su Aggiungi alla query.
  2. Nell'elenco a discesa, seleziona regex chiave di riga.
  3. Inserisci un'espressione regolare che utilizzi la sintassi re2

Filtra per colonna

Per specificare una o più colonne da includere nella query, aggiungi una clausola relativa alle colonne, 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 dell'intervallo di colonne .

  1. Fai clic su Aggiungi alla query.
  2. Nell'elenco a discesa, seleziona Colonne.
  3. Fai clic sul campo Colonne. Viene visualizzato un elenco di famiglie di colonne.
  4. Fai clic su un ID famiglia di colonne. Viene visualizzato un elenco di qualificatori di colonna.
  5. 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 relativa all'intervallo di tempo, che utilizza il filtro per l'intervallo di timestamp.

  1. Fai clic su Aggiungi alla query.
  2. Nell'elenco a discesa, seleziona Intervallo di tempo.
  3. Inserisci un timestamp di inizio.
  4. 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/DD/YYYY
  • YYYY/MM/DD

Il valore facoltativo T è un valore letterale che indica l'ora, mentre il valore facoltativo z indica l'ora UTC anziché l'ora locale. Per ulteriori informazioni sui formati dei timestamp, consulta ISO 8601.

Specifica un limite

Per specificare il numero massimo di righe restituite, aggiungi una clausola di limite.

  1. Fai clic su Aggiungi alla query.
  2. Nell'elenco a discesa, seleziona Limite.
  3. Inserisci un numero compreso tra 1 e 1,00.

Limitazioni

A Query Builder 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 visualizzato.
  • Massimo 100 colonne: Bigtable restituisce le prime 100 colonne di ogni riga corrispondente alla query. Le famiglie di colonne non sono archiviate in un ordine particolare, ma le colonne sono ordinate lessicograficamente all'interno della relativa famiglia di colonne.
  • Massimo 1000 righe: il Query Builder restituisce al massimo le prime 1000 righe di dati che corrispondono alla tua query.
  • Base64: Bigtable si impegna al massimo per visualizzare accuratamente i dati codificati in Base64, ma i risultati non sono garantiti. Se Bigtable non è in grado di visualizzare i dati in una cella, mostra invece la dimensione del valore della cella in byte.
  • Dati meno recenti: puoi recuperare solo la cella (o versione) più recente nelle colonne su cui esegui la query. Per maggiori dettagli su questo concetto, consulta Modello di archiviazione Bigtable e Concetti generali

  • Dati serializzati: i dati memorizzati come buffer di protocollo non vengono visualizzati correttamente nei risultati della query. I dati JSON sono meglio supportati, ma non garantiscono l'aspetto corretto.

  • Timestamp artificiali: se l'applicazione assegna numeri non di timestamp alla proprietà timestamp delle celle quando scrive dati nella tabella, puoi utilizzare filtri di intervalli di tempo nella query per ottenere un intervallo di valori che utilizzi al posto dei timestamp, purché li specifichi come microsecondi. Per capire perché i dati delle tabelle potrebbero utilizzare timestamp artificiali, consulta la sezione Timestamp

Passaggi successivi