arrow_back

Risoluzione dei problemi causati dagli errori comuni di SQL con BigQuery

Partecipa Accedi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Risoluzione dei problemi causati dagli errori comuni di SQL con BigQuery

Lab 50 minuti universal_currency_alt No cost show_chart Introduttivi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP408

Laboratori autogestiti Google Cloud

Panoramica

BigQuery è il database di analisi NoOps a basso costo e completamente gestito di Google. Con BigQuery puoi interrogare molti terabyte di dati senza dover gestire alcuna infrastruttura o aver bisogno di un amministratore del database. BigQuery utilizza SQL e sfrutta i vantaggi offerti dal modello di pagamento a consumo. BigQuery permette di concentrarsi sull'analisi dei dati per trovare informazioni significative.

In BigQuery è stato caricato un nuovo set di dati e-commerce con milioni di record Google Analytics per Google Merchandise Store. In questo lab avrai a disposizione una copia del set di dati ed esplorerai i campi e le righe disponibili per rilevare informazioni approfondite.

Questo lab illustra la logica della risoluzione dei problemi legati alle query. Prevede inoltre delle attività nel contesto di una situazione reale. Durante tutto il lab, immagina di collaborare con un nuovo data analyst del tuo team, che ti fornisce le query seguenti per rispondere ad alcune domande sul tuo set di dati e-commerce. Usa le risposte per correggere le query e ottenere un risultato significativo.

Cosa imparerai a fare

In questo lab imparerai a:

  • Bloccare i progetti nell'albero delle risorse di BigQuery
  • Utilizzare l'editor query e lo strumento di convalida delle query di BigQuery per identificare e risolvere i problemi di sintassi SQL e gli errori logici

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 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:

  • Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: utilizza una finestra del browser in incognito o privata per eseguire questo lab. Ciò evita eventuali 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: se hai già un account o un progetto Google Cloud personale, non utilizzarlo per questo lab per evitare addebiti aggiuntivi al tuo account.

Come avviare il lab e accedere alla console Google Cloud

  1. 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:

    • Pulsante Apri console Google
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google. 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.

    Note: se visualizzi la finestra di dialogo Scegli un account, fai clic su Utilizza un altro account.
  3. Se necessario, copia il Nome utente dal riquadro Dettagli lab e incollalo nella finestra di dialogo di accesso. Fai clic su Avanti.

  4. Copia la Password dal riquadro Dettagli lab e incollala nella finestra di dialogo di benvenuto. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali presenti nel riquadro di sinistra. Non utilizzare le tue credenziali Google Cloud Skills Boost. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  5. 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: puoi visualizzare il menu con un elenco di prodotti e servizi Google Cloud facendo clic sul menu di navigazione in alto a sinistra. Icona menu di navigazione

Attività 1: blocca un progetto nell'albero delle risorse di BigQuery

  1. Fai clic sul menu di navigazione Icona menu di navigazione > BigQuery.

Si aprirà una finestra con il messaggio Ti diamo il benvenuto in BigQuery sulla console Cloud.

Nota: la finestra del messaggio Ti diamo il benvenuto in BigQuery sulla console Cloud fornisce un link alla guida rapida e agli aggiornamenti dell'interfaccia utente.
  1. Fai clic su Fine.

  2. I set di dati pubblici BigQuery non vengono visualizzati per impostazione predefinita. Per aprire il progetto di set di dati pubblici, copia data-to-insights.

  3. Fai clic su + Aggiungi > Aggiungi un progetto a Speciali per nome quindi incolla il nome data-to-insights.

  4. Fai clic su Aggiungi a Speciali.

Il progetto data-to-insights viene elencato nella sezione Spazio di esplorazione.

Editor query e strumento di convalida delle query di BigQuery

Per ogni attività delle sezioni seguenti, questo lab ti fornirà delle query con errori comuni che dovrai correggere. Il lab ti indicherà cosa analizzare e ti suggerirà come correggere la sintassi e restituire risultati significativi.

Per seguire la risoluzione dei problemi e i suggerimenti, copia e incolla la query nell'editor query di BigQuery. In caso di errori, visualizzerai un punto esclamativo rosso sulla riga contenente l'errore e nello strumento di convalida delle query (nell'angolo in basso).

Editor query BigQuery

Se esegui la query con gli errori, otterrai un esito negativo e l'errore viene specificato in Informazioni job.

Riquadro informativo di query non riuscita

Quando la query non contiene errori, nello strumento di convalida delle query viene visualizzato un segno di spunta verde. Quando vedi il segno di spunta verde, fai clic su Esegui per eseguire la query e visualizzare i risultati.

Segno di spunta verde nello strumento di convalida delle query

Nota: per informazioni sulla sintassi, consulta la pagina relativa alla sintassi delle query SQL standard.

Attività 2: trova il numero totale di clienti che hanno effettuato il pagamento

In questa sezione, il tuo obiettivo è creare una query che indichi il numero di visitatori unici che hanno eseguito correttamente la procedura di pagamento sul tuo sito web. I dati sono contenuti nella tabella rev_transactions fornita dal tuo team di data analyst. Il team ti ha anche fornito delle query di esempio per aiutarti a iniziare l'analisi, ma non sai con certezza se sono scritte correttamente.

Risolvi i problemi legati alle query che contengono errori relativi ad alias, virgole e allo strumento di convalida delle query

  • Osserva la query qui sotto e rispondi alla seguente domanda:
#standardSQL SELECT FROM `data-to-inghts.ecommerce.rev_transactions` LIMIT 1000

  • Che ne pensi di questa query aggiornata?
#standardSQL SELECT * FROM [data-to-insights:ecommerce.rev_transactions] LIMIT 1000

  • Che ne pensi di questa query che usa SQL standard?
#standardSQL SELECT FROM `data-to-insights.ecommerce.rev_transactions`

  • E ora? Questa query contiene una colonna:
#standardSQL SELECT fullVisitorId FROM `data-to-insights.ecommerce.rev_transactions`

  • E ora? La seguente query contiene il titolo di una pagina:
#standardSQL SELECT fullVisitorId hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000

  • E ora? La virgola mancante è stata corretta.
#standardSQL SELECT fullVisitorId , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000

Risposta: vengono restituiti dei risultati, ma hai la certezza che i visitatori non siano conteggiati due volte? Inoltre, la restituzione di una sola riga risponde alla domanda sul numero di visitatori unici che sono arrivati al pagamento. Nella sezione successiva, troverai un metodo per aggregare i risultati.

Risolvi i problemi legati alle query che contengono errori logici, istruzioni GROUP BY e filtri con caratteri jolly

  • Aggrega la seguente query per rispondere alla domanda: quanti visitatori unici sono arrivati al pagamento?
#standardSQL SELECT fullVisitorId , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000
  • E questa? È stata aggiunta una funzione di aggregazione, COUNT():
#standardSQL SELECT COUNT(fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions`

  • Nella prossima query sono state aggiunte istruzioni GROUP BY e DISTINCT:
#standardSQL SELECT COUNT(DISTINCT fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY hits_page_pageTitle

Risultati Tabella dei risultati

Bene. I risultati sono buoni, ma appaiono strani.

  • Filtra i risultati solo per "Checkout Confirmation":
#standardSQL SELECT COUNT(DISTINCT fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_page_pageTitle = "Checkout Confirmation" GROUP BY hits_page_pageTitle

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Trova il numero totale di clienti che hanno effettuato il pagamento

Attività 3: elenca le città nelle quali sono state eseguite più transazioni sul tuo sito di e-commerce

Risolvi i problemi relativi agli errori di ordini, campi calcolati e filtri dopo aver eseguito l'aggregazione

  1. Completa la query scritta parzialmente:
SELECT geoNetwork_city, totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY

Possibile soluzione:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city
  1. Aggiorna la query precedente per ordinare le città elencando per prime quelle con più risultati.

Possibile soluzione:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city ORDER BY distinct_visitors DESC
  1. Aggiorna la query e crea un nuovo campo calcolato allo scopo di restituire il numero medio di prodotti per ordine in base alla città.

Possibile soluzione:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city ORDER BY avg_products_ordered DESC

Risultati

Tabella dei risultati

Filtra i risultati aggregati allo scopo di restituire solo le città con più di 20 avg_products_ordered.

  • Qual è il problema nella query seguente?
#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` WHERE avg_products_ordered > 20 GROUP BY geoNetwork_city ORDER BY avg_products_ordered DESC

Possibile soluzione:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city HAVING avg_products_ordered > 20 ORDER BY avg_products_ordered DESC

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Elenca le città nelle quali sono state eseguite più transazioni sul tuo sito di e-commerce

Attività 4: trova il numero totale di prodotti in ciascuna categoria di prodotto

Trova i prodotti più venduti filtrando i dati con i valori NULL

  1. Qual è il problema nella query seguente? Come puoi correggerla?
#standardSQL SELECT hits_product_v2ProductName, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY 1,2

  1. Qual è il problema nella query seguente?
#standardSQL SELECT COUNT(hits_product_v2ProductName) as number_of_products, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_product_v2ProductName IS NOT NULL GROUP BY hits_product_v2ProductCategory ORDER BY number_of_products DESC

  1. Aggiorna la query precedente allo scopo di conteggiare solamente prodotti distinti in ciascuna categoria di prodotto.

Possibile soluzione:

#standardSQL SELECT COUNT(DISTINCT hits_product_v2ProductName) as number_of_products, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_product_v2ProductName IS NOT NULL GROUP BY hits_product_v2ProductCategory ORDER BY number_of_products DESC LIMIT 5

Nota:
  • (not set) potrebbe indicare che il prodotto non appartiene ad alcuna categoria
  • ${productitem.product.origCatName} è il codice front-end per eseguire il rendering della categoria, che potrebbe indicare che lo script di monitoraggio di Google Analytics si attiva prima che la pagina abbia completato la fase di rendering
  • Fai clic su Controlla i miei progressi per verificare l'obiettivo. Trova il numero totale di prodotti in ciascuna categoria di prodotto

    Complimenti!

    Hai risolto i problemi e corretto le query con errori nel linguaggio SQL standard di BigQuery. Ricorda di utilizzare lo strumento di convalida delle query per gli errori di sintassi, ma anche di analizzare in modo critico i risultati delle tue query, anche nel caso in cui vengano eseguite correttamente.

    Prossimi passi/Scopri di più

    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: 19 gennaio 2024

    Ultimo test del lab: 28 agosto 2023

    Copyright 2024 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.