arrow_back

Creazione di una pipeline di dati in modalità flusso per una dashboard in tempo reale con Dataflow

Accedi Partecipa
Metti alla prova le tue conoscenze e condividile con la nostra community.

Creazione di una pipeline di dati in modalità flusso per una dashboard in tempo reale con Dataflow

Lab 1 ora universal_currency_alt 5 crediti show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Metti alla prova le tue conoscenze e condividile con la nostra community.

Panoramica

In questo lab possiedi un parco taxi di New York e vuoi monitorare l'andamento della tua attività in tempo reale. Creerai una pipeline di dati in modalità flusso per acquisire le entrate dei taxi, il numero di passeggeri, lo stato delle corse e molto altro, quindi visualizzerai i risultati in una dashboard di gestione.

Obiettivi

In questo lab imparerai a:

  • Creare un job Dataflow da un modello.
  • Inviare a BigQuery una pipeline Dataflow in modalità flusso.
  • Monitorare una pipeline Dataflow in BigQuery.
  • Analizzare i risultati con SQL.
  • Visualizzare le metriche chiave in Looker Studio.

Configurazione e requisiti

Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.

  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:

    • Il pulsante Apri console Google Cloud
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. 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.
  3. 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.

  4. Fai clic su Avanti.

  5. 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.

  6. 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.
  7. 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 visualizzare un menu con un elenco di prodotti e servizi Google Cloud, fai clic sul menu di navigazione in alto a sinistra oppure digita il nome del servizio o del prodotto nel campo di ricerca.

Attiva Google Cloud Shell

Google 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.

Google Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.

  1. Nella barra degli strumenti in alto a destra della console Cloud, fai clic sul pulsante Apri Cloud Shell.

  2. Fai clic su Continua.

Bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo PROJECT_ID. Ad esempio:

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento.

  • Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list

Output:

Credentialed accounts: - @.com (active)

Output di esempio:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puoi elencare l'ID progetto con questo comando:
gcloud config list project

Output:

[core] project =

Output di esempio:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: la documentazione completa di gcloud è disponibile nella guida Panoramica dell'interfaccia a riga di comando gcloud .

Attività 1: crea un set di dati BigQuery

In questa attività, creerai il set di dati taxirides. Hai due diverse opzioni per crearlo: Google Cloud Shell o la console Google Cloud.

In questo lab utilizzerai un estratto del set di dati aperto della NYC Taxi & Limousine Commission. Un piccolo file di dati separato da virgole verrà utilizzato per simulare aggiornamenti periodici dei dati sui taxi.

BigQuery è un data warehouse serverless. Le tabelle in BigQuery sono organizzate in set di dati. In questo lab i dati sui taxi verranno inviati in modalità flusso dal file autonomo tramite Dataflow per essere archiviati in BigQuery. Con questa configurazione, qualsiasi nuovo file di dati depositato nel bucket Cloud Storage di origine verrebbe automaticamente elaborato per il caricamento.

Utilizza una delle seguenti opzioni per creare un nuovo set di dati BigQuery:

Opzione 1: strumento a riga di comando

  1. In Cloud Shell (), esegui questo comando per creare il set di dati taxirides.
bq --location={{{project_0.default_region|Region}}} mk taxirides
  1. Esegui questo comando per creare la tabella taxirides.realtime (schema vuoto a cui invierai dati in modalità flusso in seguito).
bq --location={{{project_0.default_region|Region}}} mk \ --time_partitioning_field timestamp \ --schema ride_id:string,point_idx:integer,latitude:float,longitude:float,\ timestamp:timestamp,meter_reading:float,meter_increment:float,ride_status:string,\ passenger_count:integer -t taxirides.realtime

Opzione 2: UI della console BigQuery

Nota: salta questi passaggi se hai creato le tabelle utilizzando la riga di comando.
  1. Nella console Google Cloud, nel menu di navigazione(), fai clic su BigQuery.

  2. Se viene visualizzata la finestra di dialogo di benvenuto, fai clic su Fine.

  3. Fai clic su Visualizza azioni () accanto al tuo ID progetto, quindi su Crea set di dati.

  4. In ID set di dati, digita taxirides.

  5. In Località dei dati, seleziona:

{{{project_0.default_region|Region}}}

Quindi, fai clic su Crea set di dati.

  1. Nel riquadro Explorer, fai clic su Espandi nodo () per visualizzare il nuovo set di dati taxirides.

  2. Fai clic sull'icona Visualizza azioni () accanto al set di dati taxirides, quindi su Apri.

  3. Fai clic su Crea tabella.

  4. In Tabella, digita realtime

  5. Per lo schema, fai clic su Modifica come testo e incolla quanto segue:

ride_id:string, point_idx:integer, latitude:float, longitude:float, timestamp:timestamp, meter_reading:float, meter_increment:float, ride_status:string, passenger_count:integer
  1. In Impostazioni di partizionamento e clustering, seleziona timestamp.

  2. Fai clic su Crea tabella.

Attività 2: copia gli artefatti richiesti per il lab

In questa attività, sposterai i file richiesti nel tuo progetto.

Cloud Storage permette di archiviare e recuperare qualsiasi volume di dati in qualsiasi momento a livello globale. Puoi utilizzare Cloud Storage per scenari diversi, tra cui pubblicazione di contenuti di siti web, archiviazione di dati e disaster recovery o distribuzione agli utenti di oggetti di dati di grandi dimensioni tramite download diretto.

Durante l'avvio del lab è stato creato un bucket Cloud Storage per te.

  1. In Cloud Shell (), esegui questo comando per spostare i file necessari per il job Dataflow.
gcloud storage cp gs://cloud-training/bdml/taxisrcdata/schema.json gs://{{{project_0.project_id|Project_ID}}}-bucket/tmp/schema.json gcloud storage cp gs://cloud-training/bdml/taxisrcdata/transform.js gs://{{{project_0.project_id|Project_ID}}}-bucket/tmp/transform.js gcloud storage cp gs://cloud-training/bdml/taxisrcdata/rt_taxidata.csv gs://{{{project_0.project_id|Project_ID}}}-bucket/tmp/rt_taxidata.csv

Attività 3: configura una pipeline Dataflow

In questa attività, configurerai una pipeline di dati in modalità flusso per leggere i file del bucket Cloud Storage e scrivere dati in BigQuery.

Dataflow è una modalità serverless per eseguire l'analisi dei dati.

Riavvia la connessione all'API Dataflow.

  1. In Cloud Shell, esegui questi comandi per assicurarti che l'API Dataflow sia abilitata in modo corretto nel tuo progetto.
gcloud services disable dataflow.googleapis.com gcloud services enable dataflow.googleapis.com

Crea una nuova pipeline in modalità flusso:

  1. Nella console Cloud, nel menu di navigazione (), fai clic su Visualizza tutti i prodotti > Analytics > Dataflow.

  2. Nella barra dei menu in alto, fai clic su Crea job da modello.

  3. Digita streaming-taxi-pipeline come nome per il tuo job Dataflow.

  4. In Endpoint a livello di regione, seleziona

{{{project_0.default_region|Region}}}
  1. In Modello Dataflow, seleziona il modello Testo Cloud Storage a BigQuery (flusso) sotto Elabora i dati in modo continuo (flusso).
Nota: assicurati di selezionare l'opzione del modello che corrisponde ai parametri elencati di seguito.
  1. In File di input di Cloud Storage, incolla o digita:
{{{project_0.project_id|Project_ID}}}-bucket/tmp/rt_taxidata.csv
  1. In Percorso in Cloud Storage del file di schema BigQuery, descritto come JSON, incolla o digita:
{{{project_0.project_id|Project_ID}}}-bucket/tmp/schema.json
  1. In Tabella di output BigQuery, incolla o digita:
{{{project_0.project_id|Project_ID}}}:taxirides.realtime
  1. In Directory temporanea per il processo di caricamento di BigQuery, incolla o digita:
{{{project_0.project_id|Project_ID}}}-bucket/tmp
  1. Fai clic su Parametri obbligatori.

  2. In Posizione temporanea, utilizzata per la scrittura di file temporanei, incolla o digita:

{{{project_0.project_id|Project_ID}}}-bucket/tmp
  1. In Percorso della funzione JavaScript definita dall'utente in Cloud Storage, incolla o digita:
{{{project_0.project_id|Project_ID}}}-bucket/tmp/transform.js
  1. In Nome della funzione JavaScript definita dall'utente, incolla o digita:
transform
  1. In N. massimo di worker, digita 2.

  2. In Numero di worker, digita 1.

  3. Deseleziona Usa il tipo di macchina predefinito.

  4. In Uso generico, scegli le seguenti opzioni:

Serie: E2
Tipo di macchina: e2-medium (2 vCPU, 4 GB di memoria)

  1. Fai clic su Esegui job.

È stato avviato un nuovo job in modalità flusso. Ora puoi visualizzare una rappresentazione visiva della pipeline di dati. Serviranno dai 3 ai 5 minuti prima che i dati inizino a spostarsi in BigQuery.

Nota: se il job Dataflow ha esito negativo la prima volta, crea un nuovo modello di job con il nuovo nome ed esegui il job.

Attività 4: analizza i dati sui taxi utilizzando BigQuery

In questa attività, analizzerai i dati durante l'elaborazione in modalità flusso.

  1. Nella console Cloud, nel menu di navigazione (), fai clic su BigQuery.

  2. Se viene visualizzata la finestra di dialogo di benvenuto, fai clic su Fine.

  3. In Editor di query, digita quanto segue, quindi fai clic su Esegui:

SELECT * FROM taxirides.realtime LIMIT 10 Nota: se non viene restituito alcun record, attendi un altro minuto ed esegui nuovamente la query precedente (Dataflow impiega 3-5 minuti per configurare il flusso).

Dovresti vedere un output simile al seguente:

Attività 5: esegui aggregazioni sul flusso per il reporting

In questa attività, calcolerai le aggregazioni nel flusso per il reporting.

  1. In Editor di query, cancella la query attuale.

  2. Copia e incolla questa query e fai clic su Esegui.

WITH streaming_data AS ( SELECT timestamp, TIMESTAMP_TRUNC(timestamp, HOUR, 'UTC') AS hour, TIMESTAMP_TRUNC(timestamp, MINUTE, 'UTC') AS minute, TIMESTAMP_TRUNC(timestamp, SECOND, 'UTC') AS second, ride_id, latitude, longitude, meter_reading, ride_status, passenger_count FROM taxirides.realtime ORDER BY timestamp DESC LIMIT 1000 ) # calculate aggregations on stream for reporting: SELECT ROW_NUMBER() OVER() AS dashboard_sort, minute, COUNT(DISTINCT ride_id) AS total_rides, SUM(meter_reading) AS total_revenue, SUM(passenger_count) AS total_passengers FROM streaming_data GROUP BY minute, timestamp Nota: assicurati che Dataflow stia registrando i dati in BigQuery prima di procedere con l'attività successiva.

Il risultato mostra i parametri chiave al minuto per ogni corsa del taxi.

  1. Fai clic su Salva > Salva query.

  2. Nella finestra di dialogo Salva query, nel campo Nome, digita Query salvata personale.

  3. In Regione, assicurati che la regione corrisponda a quella del lab Qwiklabs.

  4. Fai clic su Salva.

Attività 6: arresta il job Dataflow

In questa attività, arresterai il job Dataflow per liberare risorse per il tuo progetto.

  1. Nella console Cloud, nel menu di navigazione (), fai clic su Visualizza tutti i prodotti > Analytics > Dataflow.

  2. Fai clic su streaming-taxi-pipeline o sul nome del nuovo job.

  3. Fai clic su Arresta, quindi seleziona Annulla > Arresta job.

Attività 7: crea una dashboard in tempo reale

In questa attività, creerai una dashboard in tempo reale per visualizzare i dati.

  1. Nella console Cloud, nel menu di navigazione (), fai clic su BigQuery.

  2. Nel riquadro Explorer, espandi il tuo ID progetto.

  3. Espandi Query, quindi fai clic su Query salvata personale.

La tua query viene caricata nell'editor di query.

  1. Fai clic su Esegui.

  2. Nella sezione Risultati delle query, fai clic su Apri in > Looker Studio.

    Viene visualizzato Looker Studio. Fai clic su Inizia.

  3. Nella finestra Looker Studio, fai clic sul grafico a barre.

(

Viene visualizzato il riquadro Grafico.

  1. Fai clic su Aggiungi un grafico, quindi seleziona Grafico combinato.

  2. Nel riquadro Configurazione, in Dimensione intervallo di dati, passa il mouse sopra la voce minute (Date) e fai clic su X per rimuoverla.

  3. Nel riquadro Dati, seleziona la voce dashboard_sort e trascinala in Configurazione > Dimensione intervallo di dati > Aggiungi dimensione.

  4. In Configurazione > Dimensione, fai clic su minute, quindi seleziona dashboard_sort.

  5. In Configurazione > Metrica, fai clic su dashboard_sort, quindi seleziona total_rides.

  6. In Configurazione > Metrica, fai clic su Conteggio record, quindi seleziona total_passengers.

  7. In Configurazione > Metrica, fai clic su Aggiungi metrica, quindi seleziona total_revenue.

  8. In Configurazione > Ordina, fai clic su total_rides, quindi seleziona dashboard_sort.

  9. In Configurazione > Ordina, fai clic su Crescente.

Il grafico dovrebbe essere simile a questo:

Nota: la visualizzazione dei dati con una granularità al minuto non è attualmente supportata in Looker Studio come timestamp. Ecco perché abbiamo creato la nostra dimensione dashboard_sort.
  1. Quando la dashboard ti soddisfa, fai clic su Salva e condividi per salvare questa origine dati.

  2. Se ti viene richiesto di completare la configurazione dell'account, digita i dettagli del paese e dell'azienda, accetta i termini e le condizioni, quindi fai clic su Continua.

  3. Se ti viene chiesto di specificare quali aggiornamenti vuoi ricevere, rispondi no a tutti, quindi fai clic su Continua.

  4. Se viene visualizzata la finestra Verifica l'accesso ai dati prima di salvare, fai clic su Accetta e salva.

  5. Se ti viene chiesto di scegliere un account, seleziona il tuo Account studente.

  6. Ogni volta che un utente visita la tua dashboard, sarà aggiornato con le ultime transazioni. Puoi provarlo tu stesso facendo clic su Altre opzioni (), quindi su Aggiorna dati.

Attività 8: crea una dashboard delle serie temporali

In questa attività, creerai un grafico delle serie temporali.

  1. Fai clic su questo link a Looker Studio per aprire Looker Studio in una nuova scheda del browser.

  2. Nella pagina Report, nella sezione Inizia con un modello, fai clic sul modello [+] Report vuoto.

  3. Si apre un nuovo report vuoto con la finestra Aggiungi dati al report.

  4. Dall'elenco Connettori Google, seleziona il riquadro BigQuery.

  5. Fai clic su Query personalizzata, quindi seleziona il tuo ProjectID. Dovrebbe apparire nel formato qwiklabs-gcp-xxxxxxx.

  6. In Inserisci query personalizzata, incolla questa query:

SELECT * FROM taxirides.realtime WHERE ride_status='enroute'
  1. Fai clic su Aggiungi > Aggiungi al report.

    Viene visualizzato un nuovo report senza titolo. Il completamento dell'aggiornamento dello schermo potrebbe richiedere fino a un minuto.

Crea un grafico delle serie temporali

  1. Nel riquadro Dati, fai clic su Aggiungi un campo > Aggiungi campo calcolato.

  2. Fai clic su Tutti i campi nell'angolo a sinistra.

  3. Modifica il tipo di campo timestamp in Data e ora > Data, ora e minuti (AAAAMMGGhhmm).

  4. Nella finestra di dialogo per la modifica del timestamp, fai clic su Continua, quindi su Fine.

  5. Nel menu in alto, fai clic su Aggiungi un grafico.

  6. Scegli Grafico serie temporali.

  7. Posiziona il grafico nell'angolo in basso a sinistra, nello spazio vuoto.

  8. In Configurazione > Dimensione, fai clic su timestamp (Date), quindi seleziona timestamp.

  9. In Configurazione > Dimensione, fai clic su timestamp, quindi seleziona calendar.

  10. In Tipo di dati, seleziona Data e ora > Data, ora e minuti.

  11. Fai clic all'esterno della finestra di dialogo per chiuderla. Non devi aggiungere un nome.

  12. In Configurazione > Metrica, fai clic su Conteggio record, quindi seleziona meter reading.

Complimenti!

In questo lab hai utilizzato Dataflow per inviare dati in modalità flusso da una pipeline a BigQuery.

Termina il lab

Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.

Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.

Il numero di stelle corrisponde alle seguenti valutazioni:

  • 1 stella = molto insoddisfatto
  • 2 stelle = insoddisfatto
  • 3 stelle = esperienza neutra
  • 4 stelle = soddisfatto
  • 5 stelle = molto soddisfatto

Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.

Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.

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.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

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

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.