Esegui una query

Questo documento mostra come eseguire una query in BigQuery e capire quanti dati verranno elaborati dalla query prima dell'esecuzione eseguendo un'esecuzione di prova.

Tipi di query

Puoi eseguire query sui dati BigQuery utilizzando uno dei seguenti tipi di job di query:

  • Job di query interattive. Per impostazione predefinita, BigQuery esegue le query come job di query interattive, che devono iniziare l'esecuzione il più rapidamente possibile.

  • Job di query batch. Le query batch hanno una priorità inferiore rispetto alle query interattive. Quando un progetto o una prenotazione utilizza tutte le risorse di calcolo disponibili, è più probabile che le query batch vengano messe in coda e rimangano in coda. Dopo l'avvio di una query batch, questa viene eseguita come una query interattiva. Per saperne di più, consulta Code di query.

  • Job di query continui. Con questi job, la query viene eseguita continuamente, consentendoti di analizzare i dati in entrata in BigQuery in tempo reale e quindi scrivere i risultati in una tabella BigQuery o esportarli in Bigtable o Pub/Sub. Puoi utilizzare questa funzionalità per eseguire attività sensibili al tempo, come creare e agire immediatamente in base agli approfondimenti, applicare l'inferenza di machine learning (ML) in tempo reale e creare pipeline di dati basate su eventi.

Puoi eseguire job di query utilizzando i seguenti metodi:

BigQuery salva i risultati delle query in una tabella temporanea (impostazione predefinita) o in una tabella permanente. Quando specifichi una tabella permanente come tabella di destinazione per i risultati, puoi scegliere se aggiungere o sovrascrivere una tabella esistente o crearne una nuova con un nome univoco.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire un job di query, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire un job di query. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire un job di query sono necessarie le seguenti autorizzazioni:

  • bigquery.jobs.create sul progetto da cui viene eseguita la query, indipendentemente da dove sono archiviati i dati.
  • bigquery.tables.getData su tutte le tabelle e le viste a cui fa riferimento la query. Per eseguire query sulle viste, devi disporre di questa autorizzazione anche su tutte le tabelle e le viste sottostanti. Se utilizzi viste autorizzate o set di dati autorizzati, non hai bisogno dell'accesso ai dati di origine sottostanti.

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Risoluzione dei problemi

Access Denied: Project [project_id]: User does not have bigquery.jobs.create
permission in project [project_id].

Questo errore si verifica quando un principal non dispone dell'autorizzazione per creare job di query nel progetto.

Risoluzione: un amministratore deve concederti l'autorizzazione bigquery.jobs.create per il progetto su cui stai eseguendo la query. Questa autorizzazione è richiesta in aggiunta a qualsiasi autorizzazione necessaria per accedere ai dati sottoposti a query.

Per saperne di più sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.

Eseguire una query interattiva

Per eseguire una query interattiva, seleziona una delle seguenti opzioni:

Console

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Fai clic su Query SQL.

  3. Nell'editor di query, inserisci una query GoogleSQL valida.

    Ad esempio, esegui una query sul set di dati pubblico BigQuery usa_names per determinare i nomi più comuni negli Stati Uniti tra il 1910 e il 2013:

    SELECT
      name, gender,
      SUM(number) AS total
    FROM
      `bigquery-public-data.usa_names.usa_1910_2013`
    GROUP BY
      name, gender
    ORDER BY
      total DESC
    LIMIT
      10;
    

    In alternativa, puoi utilizzare il pannello Riferimento per creare nuove query.

  4. (Facoltativo) Per visualizzare automaticamente i suggerimenti di codice quando digiti una query, fai clic su Strumenti > Completamento automatico basato sul parser. Se non hai bisogno di suggerimenti di completamento automatico, deseleziona Completamento automatico basato sul parser. In questo modo vengono disattivati anche i suggerimenti di compilazione automatica del nome del progetto.

  5. (Facoltativo) Per selezionare impostazioni query aggiuntive, fai clic su Modifica > Impostazioni query.

  6. Fai clic su Esegui.

    Se non specifichi una tabella di destinazione, il job query scrive l'output in una tabella temporanea (cache).

    Ora puoi esplorare i risultati della query nella scheda Risultati del riquadro Risultati query.

  7. (Facoltativo) Per ordinare i risultati della query per colonna, fai clic su Apri menu di ordinamento accanto al nome della colonna e seleziona un ordinamento. Se i byte stimati elaborati per l'ordinamento sono maggiori di zero, il numero di byte viene visualizzato nella parte superiore del menu.

  8. (Facoltativo) Per visualizzare la visualizzazione dei risultati della query, vai alla scheda Visualizzazione. Puoi ingrandire o ridurre il grafico, scaricarlo come file PNG o attivare/disattivare la visibilità della legenda.

    Nel riquadro Configurazione visualizzazione puoi modificare il tipo di visualizzazione e configurare le misure e le dimensioni della visualizzazione. I campi in questo riquadro sono precompilati con la configurazione iniziale dedotta dallo schema della tabella di destinazione della query. La configurazione viene mantenuta tra le esecuzioni di query successive nello stesso editor di query.

    Per le visualizzazioni a linee, a barre o a dispersione, le dimensioni supportate sono i tipi di dati INT64, FLOAT64, NUMERIC, BIGNUMERIC, TIMESTAMP, DATE, DATETIME, TIME e