GSP071

Panoramica
Senza l'infrastruttura e l'hardware giusti, archiviare enormi set di dati su cui eseguire query può richiedere molto tempo e denaro. BigQuery è un data warehouse su cloud serverless e altamente scalabile che risolve questo problema consentendo di eseguire query SQL rapidissime grazie alla potenza di elaborazione dell'infrastruttura Google. Non devi far altro che spostare i tuoi dati in BigQuery: ci occuperemo noi di tutto il resto. Puoi controllare l'accesso sia al progetto sia ai tuoi dati in base alle tue esigenze aziendali, ad esempio per offrire agli altri la possibilità di visualizzare i tuoi dati o eseguire query.
Puoi accedere a BigQuery utilizzando la console, l'UI web o uno strumento a riga di comando tramite varie librerie client, tra cui Java, .NET e Python. Esistono anche numerosi provider di soluzioni a cui puoi ricorrere per interagire con BigQuery.
Questo lab pratico ti mostra come utilizzare bq
, lo strumento a riga di comando basato su Python per BigQuery, al fine di eseguire query su tabelle pubbliche e caricare dati di esempio su BigQuery.
In questo lab proverai a:
- Eseguire una query su un set di dati pubblico
- Creare un nuovo set di dati
- Caricare i dati in una nuova tabella
- Eseguire query su una tabella personalizzata
Configurazione e requisiti
Prima di fare clic sul pulsante Avvia lab
Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Inizia il lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.
Con questo lab pratico avrai la possibilità di completare le attività in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.
Per completare il lab, avrai bisogno di:
- Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: per eseguire questo lab, utilizza una finestra del browser in modalità di navigazione in incognito (consigliata) o privata. Ciò evita conflitti tra il tuo account personale e l'account studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Nota: utilizza solo l'account studente per questo lab. Se utilizzi un altro account Google Cloud, potrebbero essere addebitati costi su quell'account.
Come avviare il lab e accedere alla console Google Cloud
-
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si aprirà una finestra di dialogo per permetterti di selezionare il metodo di pagamento.
A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
- Il pulsante Apri la console Google Cloud
- Tempo rimanente
- Credenziali temporanee da utilizzare per il lab
- Altre informazioni per seguire questo lab, se necessario
-
Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra di navigazione in incognito se utilizzi il browser Chrome).
Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.
Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.
Nota: se visualizzi la finestra di dialogo Scegli un account, fai clic su Usa un altro account.
-
Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.
{{{user_0.username | "Username"}}}
Puoi trovare il Nome utente anche nel riquadro Dettagli lab.
-
Fai clic su Avanti.
-
Copia la Password di seguito e incollala nella finestra di dialogo di benvenuto.
{{{user_0.password | "Password"}}}
Puoi trovare la Password anche nel riquadro Dettagli lab.
-
Fai clic su Avanti.
Importante: devi utilizzare le credenziali fornite dal lab. Non utilizzare le credenziali del tuo account Google Cloud.
Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
-
Fai clic nelle pagine successive:
- Accetta i termini e le condizioni.
- Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
- Non registrarti per le prove gratuite.
Dopo qualche istante, la console Google Cloud si apre in questa scheda.
Nota: per accedere ai prodotti e ai servizi Google Cloud, fai clic sul menu di navigazione o digita il nome del servizio o del prodotto nel campo Cerca.
Attiva Cloud Shell
Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud. Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.
-
Fai clic su Attiva Cloud Shell
nella parte superiore della console Google Cloud.
-
Fai clic nelle seguenti finestre:
- Continua nella finestra delle informazioni di Cloud Shell.
- Autorizza Cloud Shell a utilizzare le tue credenziali per effettuare chiamate API Google Cloud.
Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo Project_ID, . L'output contiene una riga che dichiara il Project_ID per questa sessione:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.
- (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
- Fai clic su Autorizza.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facoltativo) Puoi elencare l'ID progetto con questo comando:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: per la documentazione completa di gcloud
, in Google Cloud, fai riferimento alla guida Panoramica dell'interfaccia a riga di comando gcloud.
Attività 1: esamina una tabella
BigQuery offre una serie di tabelle di esempio su cui puoi eseguire delle query. In questo lab eseguirai delle query sulla tabella shakespeare
, che contiene una voce per ogni parola di ogni opera teatrale.
Per esaminare lo schema della tabella shakespeare nel set di dati di esempio, esegui:
bq show bigquery-public-data:samples.shakespeare
Con questo comando stai eseguendo queste operazioni:
-
bq
per richiamare lo strumento a riga di comando di BigQuery
-
show
è l'azione.
- Quindi, stai inserendo in BigQuery il nome del progetto
project:public dataset.table
che vuoi vedere.
Output:
Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Labels
----------------- ------------------------------------ ------------ ------------- ------------ ------------------- ------------------ --------
14 Mar 13:16:45 |- word: string (required) 164656 6432064
|- word_count: integer (required)
|- corpus: string (required)
|- corpus_date: integer (required)
Attività 2: esegui il comando help
Quando includi il nome di un comando con i comandi help, ricevi informazioni su quello specifico comando.
- Ad esempio, la seguente chiamata a
bq help
recupera le informazioni sul comando query
:
bq help query
- Per visualizzare un elenco di tutti gli usi dei comandi
bq
, basta eseguire bq help
.
Attività 3: esegui una query
Adesso eseguirai una query per capire quante volte la sottostringa "raisin" compare nelle opere di Shakespeare.
- Per eseguire una query, esegui il comando
bq query "[SQL_STATEMENT]"
:
- Esegui questa query SQL standard in Cloud Shell per contare il numero di volte in cui la sottostringa "raisin" compare in tutte le opere di Shakespeare:
bq query --use_legacy_sql=false \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
In questo comando:
-
--use_legacy_sql=false
imposta SQL standard come sintassi delle query predefinita.
Output:
Waiting on job_e19 ... (0s) Current status: DONE
+---------------+-------+
| word | count |
+---------------+-------+
| praising | 8 |
| Praising | 4 |
| raising | 5 |
| dispraising | 2 |
| dispraisingly | 1 |
| raisins | 1 |
La tabella dimostra che, sebbene la parola effettiva raisin non sia presente, le lettere compaiono in quell'ordine in diverse opere di Shakespeare.
Verifica l'attività completata
Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai eseguito correttamente una query su un set di dati pubblico, visualizzerai un punteggio di valutazione.
Esegui una query (set di dati: samples, tabella: shakespeare, sottostringa: raisin)
Se cerchi una parola che non si trova nelle opere di Shakespeare, non viene restituito alcun risultato.
- Ad esempio, eseguendo questa ricerca per "huzzah", non viene restituita alcuna corrispondenza:
bq query --use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "huzzah"'
Verifica l'attività completata
Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai eseguito correttamente una query su un set di dati pubblico, visualizzerai un punteggio di valutazione.
Esegui una query (set di dati: samples, tabella: shakespeare, sottostringa: huzzah)
Attività 4: crea una nuova tabella
Adesso crea la tua tabella. Ogni tabella è archiviata in un set di dati. Un set di dati è un gruppo di risorse, come tabelle e visualizzazioni.
Crea un nuovo set di dati
- Usa il comando
bq ls
per elencare eventuali set di dati esistenti nel tuo progetto:
bq ls
Visualizzerai nuovamente la riga di comando, poiché nel tuo progetto non è ancora presente alcun set di dati.
- Esegui
bq ls
e l'ID progetto bigquery-public-data
per elencare i set di dati di quel progetto specifico, seguiti dai due punti (:):
bq ls bigquery-public-data:
Output:
datasetId
-----------------------------
austin_311
austin_bikeshare
austin_crime
austin_incidents
austin_waste
baseball
bitcoin_blockchain
bls
census_bureau_construction
census_bureau_international
census_bureau_usa
census_utility
chicago_crime
...
Adesso crea un set di dati. Il nome di un set di dati può contenere fino a 1024 caratteri ed essere composto da lettere maiuscole (A-Z), minuscole (a-z), numeri (0-9) e trattino basso, ma non può iniziare con un numero o con il trattino basso, né contenere spazi.
- Usa il comando
bq mk
per creare un nuovo set di dati chiamato babynames
nel tuo progetto:
bq mk babynames
Esempio di output:
Dataset 'qwiklabs-gcp-ba3466847fe3cec0:babynames' successfully created.
Verifica l'attività completata
Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai creato correttamente un set di dati BigQuery denominato babynames, verrà visualizzato un punteggio di valutazione.
Crea un nuovo set di dati (nome: babynames)
- Esegui
bq ls
per confermare che il set di dati venga ora visualizzato all'interno del tuo progetto:
bq ls
Esempio di output:
datasetId
-------------
babynames
Carica il set di dati
Prima di creare la tabella, devi aggiungere il set di dati al tuo progetto. Il file di dati personalizzati che utilizzerai contiene circa 7 MB di dati relativi a nomi comuni di bambini forniti dalla Social Security Administration degli Stati Uniti.
- Esegui questo comando per aggiungere al tuo progetto il file ZIP con i nomi dei bambini, utilizzando l'URL per il file di dati:
wget http://www.ssa.gov/OACT/babynames/names.zip
- Elenca il file:
ls
Puoi visualizzare il nome del file aggiunto al tuo progetto.
- Ora decomprimi il file:
unzip names.zip
- Visualizzerai un elenco piuttosto lungo di file di testo. Elenca di nuovo i file:
ls
Il comando bq load
crea o aggiorna una tabella e carica i dati in un unico passaggio.
Utilizzerai il comando bq load
per caricare il tuo file di origine in una nuova tabella chiamata names2010 nel set di dati babynames che hai appena creato. Per impostazione predefinita, questo comando viene eseguito in modalità sincrona e il completamento dell'operazione richiederà alcuni secondi.
Gli argomenti bq load
che eseguirai sono:
datasetID: babynames
tableID: names2010
source: yob2010.txt
schema: name:string,gender:string,count:integer
- Crea la tua tabella:
bq load babynames.names2010 yob2010.txt name:string,gender:string,count:integer
Esempio di output:
Waiting on job_4f0c0878f6184119abfdae05f5194e65 ... (35s) Current status: DONE
Verifica l'attività completata
Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai caricato correttamente i dati in una tabella del set di dati, visualizzerai un punteggio di valutazione.
Carica i dati in una nuova tabella
- Esegui
bq ls
e babynames
per confermare che la tabella sia ora visibile nel tuo set di dati:
bq ls babynames
Output:
tableId Type
----------- -------
names2010 TABLE
- Esegui
bq show
e dataset.table
per visualizzare lo schema:
bq show babynames.names2010
Output:
Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Labels
----------------- ------------------- ------------ ------------- ----------------- ------------------- ------------------ --------
13 Aug 14:37:34 |- name: string 34073 654482 12 Oct 14:37:34
|- gender: string
|- count: integer
Nota: per impostazione predefinita, BigQuery si aspetta dei dati con codifica UTF-8 quando carichi i dati. Se hai dei dati con codifica ISO-8859-1 (o Latin-1) e stai riscontrando problemi con i dati caricati, puoi dire esplicitamente a BigQuery di trattare i tuoi dati come Latin-1, utilizzando il flag -E
. Scopri di più sulle codifiche dei caratteri nella guida Introduzione al caricamento dei dati.
Attività 5: esegui delle query
A questo punto puoi iniziare a eseguire delle query sui dati e a visualizzare qualche risultato interessante.
- Esegui questo comando per visualizzare i cinque nomi di bambina più popolari:
bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'F' ORDER BY count DESC LIMIT 5"
Output:
Waiting on job_58c0f5ca52764ef1902eba611b71c651 ... (0s) Current status: DONE
+----------+-------+
| name | count |
+----------+-------+
| Isabella | 22913 |
| Sophia | 20643 |
| Emma | 17345 |
| Olivia | 17028 |
| Ava | 15433 |
+----------+-------+
- Esegui questo comando per vedere i cinque nomi di bambino più insoliti:
bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'M' ORDER BY count ASC LIMIT 5"
Nota: il numero minimo è 5 perché i dati di origine omettono i nomi con meno di 5 occorrenze.
Output:
Waiting on job_556ba2e5aad340a7b2818c3e3280b7a3 ... (1s) Current status: DONE
+----------+-------+
| name | count |
+----------+-------+
| Aaqib | 5 |
| Aaidan | 5 |
| Aadhavan | 5 |
| Aarian | 5 |
| Aamarion | 5 |
+----------+-------+
Verifica l'attività completata
Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai eseguito correttamente delle query su un set di dati personalizzato, visualizzerai un punteggio di valutazione.
Esegui delle query sulla tabella del tuo set di dati
Attività 6: verifica le tue conoscenze
Di seguito sono riportate alcune domande a scelta multipla che servono a consolidare le tue conoscenze relative ai concetti di questo lab. Rispondi alle domande al meglio delle tue capacità.
Attività 7: esegui la pulizia
- Esegui il comando
bq rm
per rimuovere il set di dati babynames
con il flag -r
ed eliminare tutte le tabelle nel set di dati:
bq rm -r babynames
- Conferma il comando di eliminazione digitando
Y
.
Verifica l'attività completata
Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai rimosso correttamente il set di dati babynames, visualizzerai un punteggio di valutazione.
Rimuovi il set di dati babynames
Complimenti!
Ora puoi utilizzare la riga di comando per eseguire query su tabelle pubbliche e caricare dati di esempio in BigQuery.
Prossimi passi/Scopri di più
Questo lab fa anche parte di una serie di lab chiamata Qwik Starts, pensata per offrirti un piccolo assaggio delle diverse funzionalità disponibili in Google Cloud. Cerca "Qwik Starts" nel catalogo dei lab per trovare il prossimo lab da seguire.
Formazione e certificazione Google Cloud
… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.
Ultimo aggiornamento del manuale: 2 maggio 2025
Ultimo test del lab: 2 maggio 2025
Copyright 2025 Google LLC. Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.