Esploriamo Google Cloud Platform: Progetti, Set di Dati e Tabelle in BigQuery
Navigando nel tuo account Google Cloud Platform dovrai familiarizzare con i seguenti aspetti:
1. Google Cloud Storage è composto da uno o più progetti. Ogni progetto ha un nome e un ID progetto: un progetto consiste in un insieme di utenti, un insieme di API, fatturazione, autenticazione e impostazioni di monitoraggio per quelle API. Un’API è un meccanismo che consente a due software (come BigQuery e GA4) di comunicare tra loro.
2. Un progetto può consistere in uno o più set di dati: cliccando sull’ID del progetto, puoi visualizzare i set di dati. Ora dovresti essere in grado di vedere un set di dati denominato nel formato “analytics_<property_id>“. Per ogni proprietà GA4 collegata al tuo progetto BigQuery, viene aggiunto un singolo set di dati denominato “analytics_<property_id>” al tuo progetto BigQuery. L’ID della proprietà si riferisce al tuo ID della proprietà di Analytics, che puoi trovare nelle impostazioni della proprietà per la tua proprietà GA4.
Clicca sul set di dati “analytics_” e annota l’ID del set di dati; faremo riferimento a questo ID del set di dati più avanti quando creeremo prompt di testo in ChatGPT per creare le query SQL necessarie.
3. Tabelle di dati: clicca nuovamente sul set di dati “analytics_”. Ora dovresti vedere le seguenti due tabelle di dati: il set di dati “analytics_” contiene le seguenti due tabelle di dati:
– events_(<numero di giorni>)
– events_intraday_<numero di giorni>
Tutti i dati degli eventi GA4 del giorno (o dei giorni) precedente sono disponibili nella tabella di dati ‘events_’.
Questa tabella viene importata automaticamente per ogni giorno di esportazione. Per esempio, events_(1) indica che tutti i dati degli eventi GA4 del giorno precedente sono disponibili in questa tabella di dati. events_(18) significa che tutti i dati degli eventi GA4 degli ultimi 18 giorni sono disponibili in questa tabella di dati.
Tutti i dati degli eventi GA4 del giorno corrente sono disponibili nella tabella di dati ‘events_intraday_’. Questa tabella viene aggiornata automaticamente durante il giorno. Ecco perché si chiama tabella ‘events_intraday’. Di solito non interroghiamo i dati GA4 dalla tabella di dati ‘events_intraday_’.
4. Struttura di quella tabella: cliccando sulla tabella di dati ‘events_’ ti verrà mostrata la struttura di quella tabella (nota anche come ‘Schema’); osserva attentamente i vari campi disponibili sotto la scheda ‘SCHEMA’. Faremo riferimento a questi campi quando creeremo prompt di testo in ChatGPT.
Ti condivido il link da aggiungere ai preferiti con la documentazione di aiuto dello schema di esportazione BigQuery [GA4] fornita da Google. Qui puoi trovare ulteriori informazioni su ciascun campo: https://support.google.com/analytics/answer/7029846?hl=it#zippy=%2Cevent
5. Le tabelle di dati “events_” sono denominate “events_YYYYMMDD”, dove “YYYYMMDD” si riferisce alla data di importazione della tabella in BigQuery. “YYYY” indica l’anno, ad esempio 2024. “MM” indica il mese, per esempio 01 (Gennaio). “DD” indica il giorno, per esempio 14. Pertanto, la tabella di dati importata in BigQuery il 14 gennaio 2024 sarebbe nominata come events_20240114. Quindi, stai esaminando i dati relativi al 14 gennaio 2024.
Se desideri visualizzare i dati relativi a una data diversa, clicca sul menu a discesa della data e seleziona una data differente.
6. Informazioni di Archiviazione: clicca sulla scheda “Dettagli” e prendi nota dell’ID della tabella. Inoltre, osserva la sezione “Informazioni di Archiviazione” per determinare la dimensione della tua tabella di dati: faremo riferimento all’ID della tabella più avanti quando creeremo prompt di testo in ChatGPT per generare SQL. È sempre una buona pratica, prima di interrogare i dati da una tabella, controllare la dimensione della tabella. Se la dimensione della tabella di dati è di soli pochi kilobyte (KB) o megabyte (MB), non c’è motivo di preoccuparsi. Tuttavia, se la dimensione della tabella è in gigabyte (GB), terabyte (TB) o petabyte (PB), dovresti prestare attenzione a come interrogare i tuoi dati.
Il costo mensile per l’utilizzo di BigQuery dipende dai seguenti fattori:
1. La quantità di dati che hai memorizzato in BigQuery (ovvero il costo di archiviazione).
2. La quantità di dati che elabori con ogni query eseguita (ovvero il costo della query).
I primi 10 GB di archiviazione attiva sono gratuiti ogni mese. Dopo di che, ti verrà addebitato $0.020 per ogni GB di archiviazione attiva. Il primo terabyte di dati elaborati è gratuito ogni mese. Successivamente, ti verrà addebitato $5 per ogni terabyte (TB) di dati elaborati.
7. Visualizzazione dei dati della tabella: clicca sulla scheda “Anteprima” per visualizzare i dati nella tabella di dati “events_”: è sempre una buona pratica, prima di interrogare i dati da una tabella, fare un’anteprima della tabella. Molti utenti, specialmente i nuovi, eseguono query solo per avere un’anteprima dei dati in una tabella di dati. Questo potrebbe costarti notevolmente se accidentalmente interroghi gigabyte o terabyte di dati. Invece di eseguire query solo per avere un’anteprima dei dati in una tabella di dati, clicca sulla scheda “Anteprima” per visualizzare l’anteprima della tabella. Non ci sono costi per l’anteprima della tabella di dati.
L’anteprima della tabella ti darà un’idea del tipo di dati disponibili nella tabella senza dover interrogare la tabella stessa. Dall’anteprima della seguente tabella, puoi vedere che la tabella è composta da righe e colonne: ogni riga corrisponde a un singolo evento GA4. Ad esempio, la prima riga corrisponde all’evento “first_visit”, mentre la seconda riga corrisponde all’evento “session_start”.
Ogni evento ha informazioni sui parametri specifici dell’evento.
I parametri dell’evento in GA4 sono informazioni aggiuntive sull’evento che vengono inviate insieme all’evento stesso. Le informazioni sui parametri degli eventi GA4 sono memorizzate nella tabella di dati nel formato chiave-valore: il campo chiave (event_params.key) è il nome del parametro dell’evento. Ad esempio: “page_title”. Il campo valore è un oggetto che contiene il valore del parametro in uno dei suoi quattro campi: string_value, int_value, float_value o double_value.
Quindi, possiamo avere i seguenti campi valore:
1. event_params.value.string_value
2. event_params.value.int_value
3. event_params.value.float_value
4. event_params.value.double_value
Una volta che comprendi come i dati GA4 sono memorizzati nelle tabelle di dati, ti sarà più facile creare prompt di testo in ChatGPT per generare la SQL richiesta. Questo approccio ti permette di esplorare e comprendere i dati in maniera efficace e senza costi aggiuntivi, facilitando così l’analisi e l’elaborazione dei dati.
8. Creazione della query: clicca sul menu a discesa “Query” e poi su “In una nuova scheda” per interrogare la tabella di dati “events_”.
Ora vedrai la finestra della query SQL dove puoi eseguire le tue query SQL. Quando creiamo la SQL tramite ChatGPT, incolleremo queste nella finestra di query. Ecco un esempio di query SQL: questa query è pre-impostata per te, ma contiene un errore di sintassi.
I dettagli riguardanti il tipo di errore sono menzionati sul lato destro dello schermo: non abbiamo specificato la o le colonne da cui estrarre i dati. Questo passaggio è cruciale per garantire che le tue interrogazioni siano precise e pertinenti. La correzione di errori come questo è un aspetto fondamentale dell’apprendimento di SQL e dell’utilizzo efficace di BigQuery. Questo tipo di approccio pratico non solo ti aiuta a familiarizzare con l’ambiente di query, ma ti fornisce anche l’opportunità di affinare le tue competenze in SQL, permettendoti di gestire e analizzare i tuoi dati in modo più efficace.
Recuperiamo ora “tutte” le colonne della tabella digitando il carattere * accanto alla parola chiave SELECT:
E’ sempre una buona pratica prestare attenzione alla quantità di dati che la tua query elaborerà prima di eseguirla. Se la tua query elabora solo kilobyte o megabyte di dati, non devi preoccuparti: tuttavia, se la tua query elaborerà gigabyte o terabyte di dati, il costo potrebbe essere considerevole!
In tal caso, interroga solo i dati assolutamente necessari.
Nota: il costo della tua query dipende dal numero e/o dalla dimensione delle colonne restituite, non dalle righe. Restituire 10 righe/record costerà lo stesso di restituire 100.000 record di dati. Il costo della tua query è influenzato dal numero di colonne che la tua query restituisce. Questo approccio mirato ti consente di ottimizzare il tuo utilizzo delle risorse e di evitare costi inutili, garantendo al contempo che tu possa accedere alle informazioni di cui hai bisogno in modo efficiente e preciso.
Prima di procedere, formattiamo la query esistente per migliorarne la leggibilità. Clicca sul pulsante “Formatta Query” presente nel menu a discesa “Altro”:
Ora dovresti vedere la query formattata, che risulta molto più facile da leggere:
9. Esecuzione della query: clicca sul pulsante “Esegui” per eseguire la tua query: dovresti ora vedere i risultati della query nella finestra sottostante. Questo è tutto ciò che devi sapere su SQL. Ora passiamo alla parte migliore, ovvero generare SQL tramite ChatGPT.
Con questo abbiamo concluso la nostra panoramica su BigQuery. Ora tocca a te!
Data Scientist
Sono un Data Scientist con esperienza nell’applicazione di tecniche avanzate di Machine Learning per l’analisi di complessi set di dati nel campo del marketing digitale. Specializzato nell’uso di Python, sviluppo modelli predittivi e di analisi dei dati che permettono di identificare e risolvere criticità nei progetti.