
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create a cloud storage bucket
/ 25
Upload CSV files to Cloud Storage
/ 25
Create a Cloud SQL instance
/ 25
Create a database
/ 25
SQL (Structured Query Language) è un linguaggio standard per le operazioni sui dati che consente di porre domande e di ottenere informazioni approfondite da set di dati strutturati. È comunemente usato nella gestione di database e consente di eseguire attività come la scrittura di record di transazioni nei database relazionali e l'analisi di dati sulla scala dei petabyte.
Questo lab è diviso in due parti: nella prima imparerai le parole chiave fondamentali delle query SQL, che eseguirai in BigQuery su un set di dati pubblico che contiene informazioni sui bike sharing di Londra.
Nella seconda metà imparerai a esportare i sottoinsiemi del set di dati sui bike sharing di Londra in file CSV, che poi caricherai su Cloud SQL. Da lì vedremo come utilizzare Cloud SQL per creare e gestire database e tabelle. Verso la fine, farai pratica con parole chiave SQL aggiuntive che manipolano e modificano i dati.
In questo lab, imparerai a:
Avviso importante: prima di iniziare questo lab, esci dal tuo account Gmail personale o aziendale.
Si tratta di un lab di livello base. È adatto a chi ha poca o nessuna esperienza con SQL. Suggeriamo, ma non è obbligatoria, esperienza con Cloud Storage e Cloud Shell. Questo lab ti insegnerà le basi della lettura e della scrittura di query in SQL, che applicherai utilizzando BigQuery e Cloud SQL.
Prima di seguire questo lab, valuta le tue competenze di SQL. Di seguito troverai lab più complessi che ti consentiranno di applicare le conoscenze acquisite a casi d'uso più avanzati:
Quando è tutto pronto, scorri verso il basso e segui i passaggi indicati di seguito per configurare l'ambiente del 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 Avvia 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 prima persona, 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:
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
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.
Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.
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.
Puoi trovare la Password anche nel riquadro Dettagli lab.
Fai clic su Avanti.
Fai clic nelle pagine successive:
Dopo qualche istante, la console Google Cloud si apre in questa scheda.
Come detto in precedenza, SQL consente di ottenere informazioni da "set di dati strutturati". I set di dati strutturati hanno regole e formattazioni chiare e spesso sono organizzati in tabelle o dati formattati in righe e colonne.
Un esempio di dati non strutturati potrebbe essere un file immagine. I dati non strutturati non sono utilizzabili con SQL e non possono essere archiviati in set di dati o tabelle BigQuery (almeno in modo nativo). Ad esempio, per lavorare con i dati di immagine dovrai usare un servizio come Cloud Vision, magari direttamente tramite la sua API.
Di seguito è riportato un esempio di un set di dati strutturato, una semplice tabella:
User |
Price |
Shipped |
Sean |
$35 |
Yes |
Rocky |
$50 |
No |
Se hai esperienza con Fogli Google, l'esempio riportato sopra dovrebbe esserti familiare. La tabella ha colonne con intestazione User, Price e Shipped, mentre i valori delle colonne compilati vanno a costituire le due righe della tabella.
Un database è essenzialmente una raccolta di una o più tabelle. SQL è uno strumento per la gestione di database strutturati, ma molto spesso (come in questo lab) eseguirai query su una o più tabelle unite, non su interi database.
SQL è fonetico per natura e prima di eseguire una query è sempre utile capire con quale domanda intendi interrogare i dati (a meno che tu non voglia semplicemente passare un po' il tempo).
SQL presenta parole chiave predefinite che servono per tradurre la domanda nella sintassi SQL pseudo-inglese, in modo che il motore del database restituisca la risposta che vuoi.
Le parole chiave più importanti sono SELECT
e FROM
:
SELECT
per specificare i campi da cui vuoi estrarre il set di dati.FROM
per specificare la tabella o le tabelle da cui vuoi estrarre i dati.Un esempio può favorire la comprensione. Supponi di avere la seguente tabella example_table
, con le colonne USER, PRICE e SHIPPED:
E supponiamo di voler semplicemente estrarre i dati che si trovano nella colonna USER. Puoi farlo eseguendo la seguente query che usa SELECT
e FROM
:
Se eseguissi il comando riportato sopra, selezioneresti tutti i nomi della colonna USER
che si trovano in example_table
.
Puoi anche selezionare più colonne con la parola chiave SQL SELECT
. Supponiamo di voler estrarre i dati che si trovano nelle colonne USER e SHIPPED. A questo scopo, modifica la query precedente aggiungendo un altro valore della colonna alla query SELECT
(ricorda di separare i valori con la virgola):
La query riportata sopra recupera i dati USER
e SHIPPED
dalla memoria:
Con queste semplici operazioni hai imparato a usare due parole chiave SQL fondamentali. Ora rendiamo le cose un po' più interessanti.
La parola chiave WHERE
è un altro comando SQL che filtra le tabelle in base a valori specifici delle colonne. Supponiamo di voler estrarre da example_table
i nomi degli utenti i cui pacchi sono stati spediti. Puoi aggiungere WHERE
alla query, come in questo esempio:
La query sopra riportata restituisce tutti i valori USER degli utenti i cui pacchi sono stati spediti (SHIPPED):
Ora che hai una conoscenza di base delle parole chiave fondamentali di SQL, applica quanto appreso eseguendo questi tipi di query nella console BigQuery.
Di seguito sono riportate alcune domande a scelta multipla per consolidare la tua conoscenza dei concetti esposti fin qui. Rispondi alle domande al meglio delle tue capacità.
BigQuery è un data warehouse completamente gestito con scalabilità nell'ordine dei petabyte in esecuzione su Google Cloud. Gli analisti di dati e i data scientist possono interrogare e filtrare rapidamente grandi set di dati, aggregare i risultati ed eseguire operazioni complesse senza doversi preoccupare dell'impostazione e della gestione dei server. Si presenta sotto forma di uno strumento a riga di comando (preinstallato in Cloud Shell) o di una console web e in entrambi i casi è pronto per la gestione e l'interrogazione dei dati ospitati nei progetti Google Cloud.
In questo lab utilizzerai la console web per eseguire query SQL.
Si aprirà la finestra con il messaggio Ti diamo il benvenuto in BigQuery su Cloud Console. Questa finestra fornisce un link alla guida rapida e alle note di rilascio.
Si aprirà la console di BigQuery.
Prenditi un momento per considerare alcune importanti funzionalità della UI. Sul lato destro della console si trova l'"Editor query". Qui puoi scrivere ed eseguire comandi SQL come gli esempi esposti prima. Sotto si trova la "Cronologia query", che elenca le query eseguite in precedenza.
Il riquadro sinistro della console è il menu di navigazione. Oltre alla cronologia delle query (che non necessita di spiegazioni), alle query salvate e alla cronologia dei job, c'è la scheda Explorer.
Il livello più alto di risorse nella scheda Explorer contiene progetti Google Cloud, che hanno lo stesso aspetto dei progetti temporanei di Google Cloud a cui accedi e che utilizzi con ciascun lab Google Cloud Skills Boost. Come puoi vedere nella console e nell'ultimo screenshot, nella scheda Explorer c'è solo il tuo progetto. Se provi a fare clic sulla freccia accanto al nome del progetto, non visualizzerai nulla.
Questo perché il progetto non contiene set di dati o tabelle: non c'è nulla su cui eseguire query. In precedenza hai appreso che i set di dati contengono tabelle. Quando aggiungi dati al progetto, nota che in BigQuery i progetti contengono set di dati che, a loro volta, contengono tabelle. Ora che conosci meglio il paradigma progetto > set di dati > tabella e le complessità della console, puoi caricare alcuni dati interrogabili.
In questa sezione estrarrai alcuni dati pubblici nel progetto in modo da poter fare pratica con i comandi SQL in BigQuery.
Fai clic su + AGGIUNGI.
Scegli Aggiungi un progetto a Speciali per nome.
Per il nome del progetto, inserisci bigquery-public-data
Fai clic su AGGIUNGI A SPECIALI.
È importante notare che stai ancora lavorando al tuo progetto del lab in questa nuova scheda. Tutto quello che hai fatto è stato estrarre un progetto accessibile al pubblico che contiene set di dati e tabelle in BigQuery per l'analisi: non hai effettuato il passaggio a quel progetto. Tutti i tuoi job e servizi sono ancora legati al tuo account Google Cloud Skills Boost. Puoi verificarlo controllando il campo del progetto vicino alla parte superiore della console:
bigquery-public-data
london_bicycles
cycle_hire
cycle_stations
In questo lab, utilizzerai i dati di cycle_hire. Apri la tabella cycle_hire
, quindi fai clic sulla scheda Anteprima. La pagina dovrebbe essere simile alla seguente:
Controlla le colonne e i valori inseriti nelle righe. Ora tutto è pronto per eseguire alcune query SQL sulla tabella cycle_hire
.
Ora hai alcune conoscenze base delle parole chiave di SQL per l'interrogazione e del paradigma dei dati BigQuery, nonché alcuni dati con cui lavorare. Esegui alcuni comandi SQL utilizzando questo servizio.
Nell'angolo in basso a destra della console, puoi notare che ci sono 83.434.866 righe di dati o singoli viaggi in bike sharing effettuati a Londra tra il 2015 e il 2017 (una quantità notevole!).
Ora prendi nota della chiave della settima colonna: end_station_name
, che specifica la destinazione finale delle corse in bike sharing. Prima di andare in profondità, esegui una semplice query per isolare la colonna end_station_name
.
Dopo circa 20 secondi, dovrebbero essere restituite 83.434.866 righe che contengono la singola colonna richiesta: end_station_name
.
Perché non scoprire quanti viaggi in bicicletta hanno avuto una durata di almeno 20 minuti?
WHERE
:L'esecuzione di questa query richiede circa un minuto.
SELECT *
restituisce tutti i valori delle colonne della tabella. La durata viene misurata in secondi, per questo motivo viene utilizzato il valore 1200 (60 * 20).
Nell'angolo in basso a destra, puoi vedere che sono state restituite 26.441.016 righe. Come frazione del totale (26.441.016/83.434.866), questo significa che circa il 30% dei viaggi in bike sharing a Londra ha avuto una durata di almeno 20 minuti (non si tratta di tragitti brevi).
Di seguito sono riportate alcune domande a scelta multipla che servono a consolidare le tue conoscenze relative ai concetti trattati finora. Rispondi alle domande al meglio delle tue capacità.
La parola chiave GROUP BY
aggrega le righe del set di risultati che condividono criteri comuni (ad esempio il valore della colonna) e restituisce tutte le voci univoche trovate per questi criteri.
Si tratta di una parola chiave utile per capire le informazioni relative alle categorie nelle tabelle.
I risultati sono un elenco di valori di colonna univoci (non duplicati).
Senza GROUP BY
, la query avrebbe restituito tutte le 83.434.866 righe. GROUP BY
restituisce come output i valori univoci della colonna nella tabella. Puoi verificarlo guardando nell'angolo in basso a destra. Vedrai 954 righe, il che significa che ci sono 954 punti di partenza distinti per il bike sharing a Londra.
La funzione COUNT()
restituisce il numero di righe che condividono gli stessi criteri (ad esempio il valore della colonna). Questo può essere molto utile in coppia con GROUP BY
.
Aggiungi la funzione COUNT
alla query precedente per sapere quante corse hanno inizio da ciascun punto di partenza.
L'output mostra quante corse di bike sharing hanno inizio da ciascun punto di partenza.
SQL presenta anche una parola chiave AS
, che crea un alias di una tabella o colonna. Un alias è un nuovo nome assegnato alla colonna o alla tabella restituita, qualunque cosa AS
specifichi.
AS
all'ultima query eseguita. Cancella la query dall'editor, quindi copia e incolla il comando seguente:Per Risultati, il nome della colonna di destra è cambiato da COUNT(*)
in num_starts
.
Come puoi vedere, ora la colonna COUNT(*)
nella tabella restituita è impostata con il nome alias num_starts
. Questa è una parola chiave utile da usare, soprattutto se si ha a che fare con grandi set di dati: dimenticarsi a cosa faccia riferimento un nome poco chiaro di una tabella o di una colonna accade più spesso di quanto si pensi.
La parola chiave ORDER BY
ordina i dati restituiti da una query in ordine crescente o decrescente in base a un determinato criterio o valore della colonna. Aggiungi questa parola chiave alla nostra query precedente per fare quanto segue:
Ciascuno dei comandi seguenti è una query separata. Per ciascun comando:
I risultati delle ultime posizioni di partenza degli elenchi di query in base al numero di partenze da quella posizione.
Puoi notare che "Hyde Park Corner, Hyde Park" mostra il numero maggiore di partenze. Tuttavia, come frazione del totale (671688/83434866), puoi osservare che < 1% delle corse parte da questo punto.
Di seguito sono riportate alcune domande a scelta multipla per consolidare la tua conoscenza dei concetti esposti fin qui. Rispondi alle domande al meglio delle tue capacità.
Cloud SQL è un servizio di database completamente gestito che semplifica la configurazione, la manutenzione, la gestione e l'amministrazione dei database relazionali PostgreSQL e MySQL nel cloud. Sono due i formati di dati accettati da Cloud SQL: file dump (.sql) o file CSV (.csv). Imparerai a esportare i sottoinsiemi della tabella cycle_hire
in file CSV e caricarli su Cloud Storage come posizione intermedia.
Quando torni nella console BigQuery, questo dovrebbe essere l'ultimo comando che esegui:
Nella sezione Risultati delle query, fai clic su SALVA RISULTATI > CSV (file locale). Questa azione avvia un download che salva la query come file CSV. Prendi nota della posizione e del nome del file scaricato: ti serviranno a breve.
Cancella i dati dall'editor di query, quindi copia ed esegui il comando seguente nell'editor di query:
Questa azione restituisce una tabella che contiene il numero di corse in bike sharing che terminano in ciascun punto di arrivo, organizzate numericamente in ordine decrescente.
Vai sulla console Cloud, dove potrai creare un bucket di archiviazione in cui caricare i file appena creati.
Seleziona Menu di navigazione > Cloud Storage > Bucket, quindi fai clic su CREA BUCKET.
Inserisci un nome univoco per il tuo bucket, mantieni tutte le altre impostazioni come predefinite e fai clic su Crea.
Se ti viene richiesto, fai clic su Conferma per la finestra di dialogo L'accesso pubblico verrà vietato
.
Fai clic su Controlla i miei progressi qui sotto per verificare lo stato di avanzamento del lab. Se hai creato correttamente il bucket, visualizzerai un punteggio di valutazione.
A questo punto dovresti essere nella console Cloud e vedere il bucket Cloud Storage appena creato.
Fai clic su CARICA > Carica file e seleziona il file CSV che contiene i dati start_station_name
.
Poi, fai clic su Apri. Ripeti questo passaggio per i dati end_station_name
.
Rinomina il file start_station_name
facendo clic sui tre puntini all'estremità del file, quindi su Rinomina. Rinomina il file come start_station_data.csv
.
Rinomina il file end_station_name
facendo clic sui tre puntini all'estremità del file, quindi su Rinomina. Rinomina il file come end_station_data.csv
.
Ora dovresti vedere start_station_data.csv
e end_station_data.csv
nell'elenco Oggetti nella pagina Dettagli bucket.
Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai caricato correttamente gli oggetti CSV nel bucket, visualizzerai un punteggio di valutazione.
Nella console, seleziona Menu di navigazione > SQL.
Fai clic su CREA ISTANZA > Scegli MySQL.
Per l'ID istanza inserisci my-demo.
Inserisci una password sicura nel campo Password (non dimenticarla!).
Per la versione del database seleziona MySQL 8.
Per Scegli una versione di Cloud SQL, seleziona Enterprise.
Per Preimpostazione versione, seleziona Sviluppo (4 vCPU, 16 GB di RAM, 100 GB di spazio di archiviazione, Zona singola).
Imposta il campo Regione su
Imposta il campo Più zone (alta affidabilità) > Zona principale su
Fai clic su CREA ISTANZA.
Per verificare i progressi del lab, fai clic su Controlla i miei progressi di seguito. Se hai configurato correttamente un'istanza di Cloud SQL, visualizzerai un punteggio di valutazione.
Ora che hai un'istanza Cloud SQL in funzione, crea un database al suo interno utilizzando la riga di comando di Cloud Shell.
Apri Cloud Shell facendo clic sull'icona nell'angolo in alto a destra della console.
Esegui questo comando per impostare l'ID progetto come variabile di ambiente:
Se richiesto di scegliere [Y/n], premi Y, quindi Invio.
Questo ti darà un link da aprire nel tuo browser. Apri il link nello stesso browser in cui hai effettuato l'accesso all'account qwiklabs. Una volta effettuato il login riceverai un codice di verifica da copiare. Incolla questo codice in Cloud Shell.
my-demo
se hai utilizzato un nome diverso per la tua istanza:Dovresti vedere un output simile:
Un'istanza Cloud SQL è dotata di database preconfigurati, ma ne creerai uno tuo per memorizzare i dati del bike sharing di Londra.
bike
:Dovrebbe essere restituito questo output:
Verifica i progressi facendo clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai creato correttamente un database nell'istanza Cloud SQL, vedrai un punteggio di valutazione.
Questa istruzione contiene la parola chiave CREATE
, ma questa volta usa la clausola TABLE
per specificare l'intenzione di creare una tabella invece di un database. La parola chiave USE
specifica un database a cui intendi connetterti. Ora hai una tabella chiamata "london1" che contiene due colonne, "start_station_name" e "num". VARCHAR(255)
specifica una colonna di tipo stringa di lunghezza variabile che può contenere fino a 255 caratteri, mentre INT
è una colonna di tipo integer.
L'output che ricevi dovrebbe essere simile al seguente per entrambi i comandi:
Viene visualizzato "empty set" perché non hai ancora caricato i dati.
Torna alla console di Cloud SQL. Ora caricherai i file CSV start_station_name
ed end_station_name
nelle tabelle london1 e london2 appena create.
start_station_data.csv
. Fai clic su Seleziona.bike
e inserisci london1
per la tabella.Esegui le stesse azioni per l'altro file CSV.
end_station_data.csv
. Fai clic su Seleziona.bike
e inserisci london2
per la tabella.Ora dovresti aver caricato entrambi i file CSV nelle tabelle nel database bike
.
Dovrebbero essere restituite 955 righe di output, una per ciascun nome univoco delle stazioni.
Dovrebbero essere restituite 959 righe di output, una in più rispetto ai nomi univoci delle stazioni.
Ecco di seguito un paio di altre parole chiave SQL che aiutano nella gestione dei dati. La prima è la parola chiave DELETE
.
Dopo l'esecuzione di entrambi i comandi dovresti visualizzare il seguente output:
Le righe eliminate erano le intestazioni di colonna dei file CSV. La parola chiave DELETE
non elimina la prima riga del file in sé, ma tutte le righe della tabella in cui il nome della colonna (in questo caso "num") contiene un valore specifico (in questo caso "0"). Se esegui le query SELECT * FROM london1;
e SELECT * FROM london2;
e scorri fino alla parte superiore della tabella, vedrai che quelle righe non esistono più.
Puoi inserire i valori nelle tabelle con la parola chiave INSERT INTO
.
start_station_name
su "test destination" e num
su "1":La parola chiave INSERT INTO
richiede una tabella (london1) e crea una nuova riga con colonne specificate dai termini nella prima parentesi (in questo caso "start_station_name" e "num"). Qualunque elemento segua la clausola "VALUES" verrà inserito come valore nella nuova riga.
Dovrebbe essere restituito questo output:
Se esegui la query SELECT * FROM london1;
vedrai una riga supplementare aggiunta in fondo alla tabella "london1":
L'ultima parola chiave SQL che imparerai è UNION
. Questa parola chiave combina l'output di due o più query SELECT
in un set di risultati. Usa UNION
per combinare i sottoinsiemi delle tabelle "london1" e "london2".
La seguente query concatenata estrae dati specifici da entrambe le tabelle e li combina con l'operatore UNION
.
La prima query SELECT
seleziona due colonne della tabella "london1" e crea un alias per "start_station_name", che viene impostato su "top_stations". Usa la parola chiave WHERE
unicamente per estrarre i nomi delle stazioni di bike sharing da cui iniziano la corsa oltre 100.000 biciclette.
La seconda query SELECT
seleziona le due colonne dalla tabella "london2" e usa la parola chiave WHERE
unicamente per estrarre i nomi delle stazioni di bike sharing in cui terminano la corsa oltre 100.000 biciclette.
La parola chiave UNION
tra le due query ne combina l'output unendo i dati di "london2" e "london1". Dal momento che "london1" viene unita a "london2", i valori della colonna che hanno la precedenza sono "top_stations" e "num".
ORDER BY
ordina la tabella finale unita e ne organizza i valori della colonna "top_stations" in ordine alfabetico A-Z.
Output di esempio (i tuoi risultati potrebbero differire):
Come vedi, 13/14 stazioni si dividono i primi posti per punti di partenza e di arrivo delle corse di bike sharing. Con alcune parole chiave SQL di base è stato possibile interrogare un set di dati di notevoli dimensioni, che ha restituito punti dati e risposte a domande specifiche.
In questo lab hai appreso le nozioni fondamentali di SQL e hai imparato ad applicare parole chiave ed eseguire query in BigQuery e Cloud SQL. Ti sono stati spiegati i concetti fondamentali di progetti, database e tabelle. Hai fatto pratica con parole chiave che hanno manipolato e modificato i dati. Hai imparato a leggere i dati in BigQuery e ti sei esercitato a eseguire query sulle tabelle. Hai imparato a creare istanze in Cloud SQL e hai fatto pratica con il trasferimento di sottoinsiemi di dati nelle tabelle contenute nei database. Hai concatenato ed eseguito query in Cloud SQL per arrivare ad alcune interessanti conclusioni sulle stazioni di partenza e di arrivo dei bike sharing di Londra.
Continua a imparare e ad esercitarti con Cloud SQL e BigQuery con questi lab Google Cloud Skills Boost:
Scopri di più sulla data science con Data Science on the Google Cloud Platform, 2nd Edition: O'Reilly Media, Inc..
… 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: 16 ottobre 2024
Ultimo test del lab: 16 ottobre 2024
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.
Questi contenuti non sono al momento disponibili
Ti invieremo una notifica via email quando sarà disponibile
Bene.
Ti contatteremo via email non appena sarà disponibile
One lab at a time
Confirm to end all existing labs and start this one