Prepara i dati con gli agenti di IA nel codelab di BigQuery

1. Introduzione

Immagina di poter preparare i dati per l'analisi in modo più rapido ed efficiente senza dover essere un esperto di programmazione. Con la preparazione dei dati di BigQuery, tutto questo è realtà. Questa potente funzionalità semplifica l'importazione, la trasformazione e la pulizia dei dati, mettendo la preparazione dei dati nelle mani di tutti i professionisti dei dati della tua organizzazione.

Vuoi scoprire i segreti nascosti nei dati di prodotto?

Prerequisiti

  • Una conoscenza di base di Google Cloud Console
  • Una conoscenza di base di SQL

Cosa imparerai a fare

  • In che modo la preparazione dei dati BigQuery può pulire e trasformare i dati non elaborati in business intelligence strategica, utilizzando un esempio realistico del settore della moda e della bellezza.
  • Come eseguire e pianificare la preparazione dei dati puliti

Che cosa ti serve

  • Un account Google Cloud e un progetto Google Cloud
  • Un browser web come Chrome

2. Configurazione di base e requisiti

Configurazione dell'ambiente autonomo

  1. Accedi alla console Google Cloud e crea un nuovo progetto o riutilizzane uno esistente. Se non hai ancora un account Gmail o Google Workspace, devi crearne uno.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Il nome del progetto è il nome visualizzato per i partecipanti a questo progetto. È una stringa di caratteri non utilizzata dalle API di Google. Puoi sempre aggiornarlo.
  • L'ID progetto è univoco in tutti i progetti Google Cloud ed è immutabile (non può essere modificato dopo l'impostazione). La console Cloud genera automaticamente una stringa univoca, di solito non ti interessa di cosa si tratta. Nella maggior parte dei codelab, dovrai fare riferimento all'ID progetto (in genere identificato come PROJECT_ID). Se l'ID generato non ti piace, puoi generarne un altro casuale. In alternativa, puoi provare a crearne uno e vedere se è disponibile. Non può essere modificato dopo questo passaggio e rimane per tutta la durata del progetto.
  • Per tua informazione, esiste un terzo valore, un numero di progetto, utilizzato da alcune API. Scopri di più su tutti e tre questi valori nella documentazione.
  1. Successivamente, devi abilitare la fatturazione in Cloud Console per utilizzare le risorse/API Cloud. Completare questo codelab non costa molto, se non nulla. Per arrestare le risorse ed evitare addebiti oltre a quelli previsti in questo tutorial, puoi eliminare le risorse che hai creato o il progetto. I nuovi utenti di Google Cloud possono beneficiare del programma prova senza costi di 300$.

3. Prima di iniziare

Abilita l'API

Per usare Gemini in BigQuery, devi abilitare l'API Gemini for Google Cloud. In genere, questo passaggio viene eseguito da un amministratore dei servizi o dal Project Owner con l'autorizzazione IAM serviceusage.services.enable.

  1. Per abilitare l'API Gemini for Google Cloud, vai alla pagina Gemini for Google Cloud in Google Cloud Marketplace. Vai a Gemini in Google Cloud
  2. Nel selettore dei progetti, seleziona un progetto.
  3. Fai clic su Abilita. La pagina si aggiorna e mostra lo stato Attivato. Gemini in BigQuery è ora disponibile nel progetto Google Cloud selezionato per tutti gli utenti che dispongono delle autorizzazioni IAM richieste.

Configurare ruoli e autorizzazioni per sviluppare preparazioni dei dati

  1. In IAM e amministrazione, seleziona IAM.

4477412d79f29e0b.png

  1. Seleziona l'utente e fai clic sull'icona a forma di matita per "Modifica principal".

5eb558e04ad12362.png

Per utilizzare BigQuery Data Preparation, devi disporre dei seguenti ruoli e autorizzazioni:

4. Trovare e abbonarsi alla scheda "bq data preparation demo" in BigQuery Analytics Hub

Per questo tutorial utilizzeremo il set di dati bq data preparation demo. Si tratta di un set di dati collegato in BigQuery Analytics Hub da cui leggeremo i dati.

La preparazione dei dati non scrive mai di nuovo nell'origine e ti chiederemo di definire una tabella di destinazione in cui scrivere. La tabella con cui lavoreremo per questo esercizio ha solo 1000 righe per ridurre al minimo i costi,ma la preparazione dei dati viene eseguita su BigQuery e verrà scalata di conseguenza.

Per trovare e abbonarti al set di dati collegato:

  1. Accedi ad Analytics Hub: nella console Google Cloud, vai a BigQuery.
  2. Nel menu di navigazione di BigQuery, seleziona "Analytics Hub" nella sezione "Governance".

6ddfac4dd863ca7b.png

  1. Cerca la scheda: nell'interfaccia utente di Analytics Hub, fai clic su Cerca schede."
  2. Digita bq data preparation demo nella barra di ricerca e premi Invio.

7e0cb82b80174cdc.png

  1. Iscriviti alla scheda: seleziona la scheda bq data preparation demo dai risultati di ricerca.
  2. Nella pagina dei dettagli della scheda, fai clic sul pulsante Iscriviti.
  3. Esamina le finestre di dialogo di conferma e aggiorna il progetto/dataset, se necessario. I valori predefiniti dovrebbero essere corretti.

2ef0ac1e3557f2f9.png

  1. Accedi al set di dati in BigQuery: una volta eseguita la sottoscrizione, i set di dati all'interno della scheda verranno collegati al tuo progetto BigQuery.

Torna a BigQuery Studio.

5. Esplora i dati e avvia la preparazione dei dati

  1. Individua il set di dati e la tabella: nel riquadro Explorer, seleziona il progetto e poi individua il set di dati incluso nell'elenco bq data preparation demo. Seleziona la tabella stg_product.
  2. Apri in Data Preparation: fai clic sui tre puntini verticali accanto al nome della tabella e seleziona Open in Data Preparation.

Si aprirà la tabella nell'interfaccia di preparazione dei dati, pronta per iniziare a trasformare i dati.

76ace3d4b5cfc2d0.png

Come puoi vedere nell'anteprima dei dati riportata di seguito, abbiamo alcune sfide da affrontare, tra cui:

  • La colonna Prezzo contiene sia l'importo che la valuta, il che rende difficile l'analisi.
  • La colonna Prodotto combina il nome e la categoria del prodotto (separati da una barra verticale |).

f4d93aa59a56447a.png

Gemini analizza immediatamente i dati e suggerisce diverse trasformazioni. In questo esempio, vediamo una serie di consigli. Nei passaggi successivi applicheremo quelli che ci servono.

fd4d14e4fa3c31c1.png

6. Gestione della colonna Prezzo

Analizziamo la colonna Prezzo. Come abbiamo visto, contiene sia la valuta che l'importo. Il nostro obiettivo è separare questi valori in due colonne distinte:Valuta e Importo.

Gemini ha identificato diversi consigli per la colonna Prezzo.

  1. Trova un consiglio che dica qualcosa di simile a:

Descrizione: "Questa espressione rimuove "USD " dal campo specificato"

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. Seleziona Anteprima.

c9327cfbd32247d6.png

  1. Seleziona Applica

Successivamente, per la colonna Price, converti il tipo di dati da STRING a NUMERIC.

  1. Trova un consiglio che dica qualcosa di simile a:

Descrizione: "Converte la colonna Prezzo dal tipo stringa a float64"

SAFE_CAST(Price AS float64)
  1. Seleziona Applica.

Ora dovresti vedere tre passaggi applicati nell'elenco dei passaggi.

d3359af47dce0c15.png

7. Gestione della colonna Prodotto

La colonna Prodotto contiene sia il nome che la categoria del prodotto, separati da una barra verticale (|).

Anche se potremmo usare di nuovo il linguaggio naturale, esploriamo un'altra delle potenti funzionalità di Gemini.

Pulisci il nome del prodotto

  1. Seleziona la parte della categoria di una voce di prodotto, incluso il carattere |, ed eliminala.

5171d598a8cb3a75.png

Gemini riconoscerà in modo intelligente questo pattern e suggerirà una trasformazione da applicare all'intera colonna.

  1. Seleziona "Modifica".

b36cac918b4f30e9.png

Il suggerimento di Gemini è perfetto: rimuove tutto ciò che segue il carattere "|", isolando di fatto il nome del prodotto.

Ma questa volta non vogliamo sovrascrivere i dati originali.

  1. Nel menu a discesa della colonna di destinazione, seleziona "Crea nuova colonna".
  2. Imposta il nome su ProductName.

bda19e0e5e536ccd.png

  1. Visualizza l'anteprima delle modifiche per assicurarti che tutto sia a posto.
  2. Applica la trasformazione.

Estrarre la categoria di prodotto

Utilizzando il linguaggio naturale, chiederemo a Gemini di estrarre la parola dopo la barra verticale (|) nella colonna Prodotto. Questo valore estratto verrà sovrascritto nella colonna esistente denominata Prodotto.

  1. Fai clic su Add Step per aggiungere un nuovo passaggio di trasformazione.

77944047e698494c.png

  1. Seleziona Transformation dal menu a discesa.
  2. Nel campo del prompt in linguaggio naturale, inserisci "extract the word after the pipe (|) in the Product column." (estrai la parola dopo la barra verticale (|) nella colonna Prodotto), quindi premi Invio per generare l'SQL.

82efc2447a3210bd.png

  1. Lascia la colonna Target impostata su "Prodotto".
  2. Fai clic su Applica.

La trasformazione dovrebbe restituire i seguenti risultati.

d741c66d9e0e8e00.png

8. Unione per arricchire i dati

Spesso, è utile arricchire i dati con informazioni provenienti da altre origini. Nel nostro esempio, uniremo i dati di prodotto agli attributi di prodotto estesi, stg_extended_product, da una tabella di terze parti. Questa tabella include dettagli come il brand e la data di lancio.

  1. Fai clic su Add Step.
  2. Seleziona Join
  3. Vai alla tabella stg_extended_product.

dca14451c3fbc7f0.png

Gemini in BigQuery ha scelto automaticamente la chiave di join productid e ha qualificato i lati sinistro e destro, poiché il nome della chiave è identico.

Nota: assicurati che nel campo Descrizione sia presente la dicitura "Join by productid". Se include chiavi di join aggiuntive, sovrascrivi il campo della descrizione con "Join by productid" e seleziona il pulsante di generazione nel campo della descrizione per rigenerare l'espressione di join con la seguente condizione L.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. (Facoltativo) Seleziona Anteprima per visualizzare l'anteprima dei risultati.
  2. Fai clic su Apply.

Pulizia degli attributi estesi

L'unione è stata eseguita correttamente, ma i dati degli attributi estesi richiedono una pulizia. La colonna LaunchDate ha formati di data incoerenti e la colonna Brand contiene alcuni valori mancanti.

Inizieremo esaminando la colonna LaunchDate.

f9b570d7c2d3a98d.png

Prima di creare trasformazioni, controlla i suggerimenti di Gemini.

  1. Fai clic sul nome della colonna LaunchDate. Dovresti visualizzare alcuni consigli generati simili a quelli nell'immagine qui sotto.

62b6e6027a46ba75.png

  1. Se vedi un consiglio con il seguente SQL, applica il consiglio e salta i passaggi successivi.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Se non vedi un consiglio corrispondente all'SQL riportato sopra, fai clic su Add Step.
  2. Seleziona Transformation.
  3. Nel campo SQL, inserisci quanto segue:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Imposta Target Columns su LaunchDate.
  2. Fai clic su Apply.

La colonna LaunchDate ora ha un formato di data coerente.

ccf34aa05754a834.png

9. Aggiunta di una tabella di destinazione

Il nostro set di dati è ora pulito e pronto per essere caricato in una tabella delle dimensioni nel nostro data warehouse.

  1. Fai clic su ADD STEP.
  2. Seleziona Destination.
  3. Compila i parametri richiesti: Set di dati: bq_data_preparation_demo Tabella: DimProduct
  4. Fai clic su Save.

79fdc3666a3a21b9.png

Ora abbiamo lavorato con le schede "Dati" e "Schema". Oltre a queste, BigQuery Data Preparation fornisce una visualizzazione "Grafico" che mostra visivamente la sequenza di passaggi di trasformazione nella pipeline.

95e64d8152228f7b.png

10. Bonus A: gestione della colonna Produttore e creazione della tabella degli errori

Abbiamo anche identificato valori vuoti nella colonna Manufacturer. Per questi record, vogliamo implementare un controllo della qualità dei dati e spostarli in una tabella degli errori per un'ulteriore revisione.

Creare una tabella degli errori

  1. Fai clic sul pulsante More accanto al titolo di stg_product data preparation.
  2. Nella sezione Setting, seleziona Error Table.
  3. Seleziona la casella Enable error table e configura le impostazioni nel seguente modo:
  • Set di dati: seleziona bq_data_preparation_demo
  • Tabella: inserisci err_dataprep
  • In Define duration for keeping errors, seleziona 30 days (default).
  1. Fai clic su Save.

adb5722f05c1b205.png

Configura la convalida nella colonna Produttore

  1. Seleziona la colonna Produttore.
  2. Gemini avrà probabilmente identificato una trasformazione pertinente. Trova il suggerimento che mantiene solo le righe in cui il campo Produttore non è vuoto. Avrà un SQL simile a:
Manufacturer IS NOT NULL

2.Fai clic sul pulsante "Modifica" di questo consiglio per esaminarlo.

4749b551a03d8193.png

  1. Se non è selezionata, seleziona l'opzione "Le righe di convalida con errori vengono inviate alla tabella degli errori"
  2. Fai clic su Apply.

In qualsiasi momento, puoi rivedere, modificare o eliminare le trasformazioni che hai applicato facendo clic sul pulsante "Passaggi applicati".

15df6caacbdd6a69.png

Pulire la colonna ridondante ProductID_1

La colonna ProductID_1, che duplica ProductID della tabella unita, può ora essere eliminata.

  1. Vai alla scheda Schema
  2. Fai clic sui tre puntini accanto alla colonna ProductID_1.
  3. Fai clic su Drop.

Ora siamo pronti per eseguire il job di preparazione dei dati e convalidare l'intera pipeline. Una volta soddisfatti dei risultati, possiamo pianificare l'esecuzione automatica del job.

  1. Prima di uscire dalla visualizzazione di preparazione dei dati, salva le preparazioni. Accanto al titolo stg_product data preparation, dovresti vedere un pulsante Save. Fai clic sul pulsante per salvare.

11. Pulizia dell'ambiente

  • Elimina stg_product data preparation
  • Elimina il set di dati bq data preparation demo

12. Complimenti

Congratulazioni per aver completato il codelab.

Argomenti trattati

  • Configurazione della preparazione dei dati
  • Apertura delle tabelle e navigazione nella preparazione dei dati
  • Suddivisione delle colonne con dati numerici e descrittori di unità
  • Standardizzazione dei formati di data
  • Esecuzione delle preparazioni dei dati