arrow_back

Elaborazione dei dati in modalità flusso: inserimento di pipeline di flussi di dati in Bigtable

Accedi Partecipa
Accedi a oltre 700 lab e corsi

Elaborazione dei dati in modalità flusso: inserimento di pipeline di flussi di dati in Bigtable

Lab 2 ore universal_currency_alt 5 crediti show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Accedi a oltre 700 lab e corsi

Panoramica

In questo lab userai Dataflow per collezionare eventi del traffico ottenuti da dati di sensori per il traffico simulati resi disponibili su PubSub di Google Cloud e li trascriverai in una tabella Bigtable.

Nota: al momento della stesura del presente documento, le pipeline di flussi di dati non sono disponibili nell'SDK per Python di Dataflow. I lab sui flussi di dati sono pertanto scritti in Java.

Obiettivi

In questo lab imparerai a:

  • Lanciare pipeline di Dataflow che leggono in Pub/Sub e trascrivono in Bigtable.
  • Aprire una shell HBase per eseguire query sul database Bigtable.

Configurazione

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. Accedi a Qwiklabs utilizzando una finestra di navigazione in incognito.

  2. Tieni presente la durata dell'accesso al lab (ad esempio, 1:15:00) e assicurati di finire entro quell'intervallo di tempo.
    Non è disponibile una funzionalità di pausa. Se necessario, puoi riavviare il lab ma dovrai ricominciare dall'inizio.

  3. Quando è tutto pronto, fai clic su Inizia lab.

  4. Annota le tue credenziali del lab (Nome utente e Password). Le userai per accedere a Google Cloud Console.

  5. Fai clic su Apri console Google.

  6. Fai clic su Utilizza un altro account e copia/incolla le credenziali per questo lab nei prompt.
    Se utilizzi altre credenziali, compariranno errori oppure ti verranno addebitati dei costi.

  7. Accetta i termini e salta la pagina di ripristino delle risorse.

Verifica le autorizzazioni del progetto

Prima di iniziare il tuo lavoro su Google Cloud, devi assicurarti che il tuo progetto disponga delle autorizzazioni corrette in Identity and Access Management (IAM).

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), seleziona IAM e amministrazione > IAM.

  2. Conferma che l'account di servizio di computing predefinito {project-number}-compute@developer.gserviceaccount.com sia presente e che abbia il ruolo di editor assegnato. Il prefisso dell'account è il numero del progetto, che puoi trovare in Menu di navigazione > Panoramica di Cloud > Dashboard

Il nome dell'account di servizio predefinito di Compute Engine e lo stato dell'editor evidenziati nella pagina a schede Autorizzazioni

Nota: se l'account non è presente in IAM o non dispone del ruolo editor, attieniti alla procedura riportata di seguito per assegnare il ruolo richiesto.
  1. Nel menu di navigazione della console Google Cloud, fai clic su Panoramica di Cloud > Dashboard.
  2. Copia il numero del progetto (es. 729328892908).
  3. Nel menu di navigazione, seleziona IAM e amministrazione > IAM.
  4. Nella parte superiore della tabella dei ruoli, sotto Visualizza per entità, fai clic su Concedi accesso.
  5. Per Nuove entità, digita:
{project-number}-compute@developer.gserviceaccount.com
  1. Sostituisci {project-number} con il numero del tuo progetto.
  2. Come Ruolo, seleziona Progetto (o Base) > Editor.
  3. Fai clic su Salva.

Attività 1: preparazione

Eseguirai il simulatore di un sensore dalla VM di addestramento. Ti serviranno alcuni file e dovrai configurare l'ambiente.

Apri il terminale SSH e connettiti alla VM di addestramento

  1. Nella console, nel menu di navigazione ( Icona menu di navigazione), fai clic su Compute Engine > Istanze VM.

  2. Trova la riga con l'istanza denominata training-vm.

  3. Sulla destra, sotto la colonna Connetti, fai clic su SSH per aprire una finestra del terminale. Quindi, fai clic su Connetti.

In questo lab, inserirai i comandi dell'interfaccia a riga di comando nell'istanza training-vm.

Verifica che l'inizializzazione sia completa

  • L'istanza training-vm installerà del software in background. Verifica che la configurazione sia completa controllando il contenuto della nuova directory:
ls /training

La configurazione è completa quando l'output del comando list (ls) corrisponde all'immagine seguente. Se l'elenco visualizzato non è completo, aspetta qualche minuto e riprova.

Nota: il completamento di tutte le operazioni in background potrebbe richiedere da 2 a 3 minuti. student-04-2324ale56789@training-vm:~$ ls /training bq-magic.sh project_env.sh sensor_magic.sh student-04-2324ale56789@training-vm:~$

Scarica il repository di codice

  • A seguire, scaricherai un repository di codice da utilizzare in questo lab.
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Imposta le variabili di ambiente

  • Nel terminale SSH di training-vm, inserisci quanto segue:
source /training/project_env.sh

Questo script imposta le variabili $DEVSHELL_PROJECT_ID e $BUCKET.

Prepara i file per l'avvio rapido di HBase

  • Nel terminale SSH di training-vm, esegui lo script per scaricare e decomprimere i file di avvio rapido (ti serviranno più tardi per eseguire la shell di HBase):
cd ~/training-data-analyst/courses/streaming/process/sandiego ./install_quickstart.sh

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Copia i file di esempio nella home directory training_vm

Attività 2: simula i dati dei sensori di traffico in Pub/Sub

  • Avvia il simulatore dei sensori nel terminale SSH di training-vm. Lo script legge i dati di esempio da un file csv e li pubblica in Pub/Sub:
/training/sensor_magic.sh

Questo comando invierà un'ora di dati in un minuto. Lascia in esecuzione lo script in questo terminale.

Apri un secondo terminale SSH e connettilo alla VM di addestramento

  1. Nell'angolo superiore destro del terminale SSH di training-vm, fai clic sul pulsante a forma di ingranaggio (Icona Impostazioni) e seleziona Nuova connessione dal menu a discesa. Si aprirà una nuova finestra del terminale.

La nuova sessione del terminale non disporrà delle variabili di ambiente necessarie. Completa il passaggio successivo per impostarle.

  1. Nel nuovo terminale SSH di training-vm, inserisci quanto segue:
source /training/project_env.sh

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Simula i dati dei sensori di traffico in Pub/Sub

Attività 3: lancia la pipeline Dataflow

  1. Esegui il seguente blocco di codice in Cloud Shell per assicurarti che siano state impostate le API e le autorizzazioni corrette.
gcloud services disable dataflow.googleapis.com --force gcloud services enable dataflow.googleapis.com
  1. Nel secondo terminale SSH di training-vm, vai alla directory per questo lab. Esamina lo script in Cloud Shell o usando nano. Non apportare modifiche al codice.
cd ~/training-data-analyst/courses/streaming/process/sandiego nano run_oncloud.sh

Che cosa fa lo script?

Lo script assume i 3 argomenti obbligatori ID progetto, nome bucket e nome classe e un quarto argomento facoltativo, opzioni. Per questa parte del lab, useremo l'opzione --bigtable, che ordinerà alla pipeline di scrivere in Cloud Bigtable.

  1. Premi CTRL+X per uscire.

  2. Esegui i seguenti comandi per creare un'istanza Bigtable:

cd ~/training-data-analyst/courses/streaming/process/sandiego export ZONE={{{project_0.startup_script.gcp_zone|Lab GCP Zone}}} ./create_cbt.sh
  1. Esegui i seguenti comandi per fare in modo che la pipeline Dataflow legga da PubSub e trascriva in Cloud Bigtable:
cd ~/training-data-analyst/courses/streaming/process/sandiego export REGION={{{project_0.startup_script.gcp_region|Lab GCP Region}}} ./run_oncloud.sh $DEVSHELL_PROJECT_ID $BUCKET CurrentConditions --bigtable

Esempio di esecuzione corretta:

[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 47.582 s [INFO] Finished at: 2018-06-08T21:25:32+00:00 [INFO] Final Memory: 58M/213M [INFO] ------------------------------------------------------------------------

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Lancia la pipeline Dataflow

Attività 4: esplora la pipeline

  1. Torna alla scheda del browser della console. Nel menu di navigazione ( Icona menu di navigazione), fai clic su Dataflow e quindi sul nuovo job di pipeline. Verifica che il job di pipeline sia presente e che sia in esecuzione senza errori.

  2. Individua il passaggio write:cbt nel grafico della pipeline e fai clic sulla freccia verso il basso per vedere il writer in azione. Fai clic sul writer. Rivedi le Opzioni Bigtable nel Riepilogo passaggio.

Attività 5: esegui una query sui dati Bigtable

  1. Nel secondo terminale SSH di training-vm, esegui lo script quickstart.sh per lanciare la shell HBase:
cd ~/training-data-analyst/courses/streaming/process/sandiego/quickstart ./quickstart.sh
  1. Al completamento dello script, ti troverai in un prompt della shell HBase come questo:
hbase(main):001:0>
  1. Nel prompt della shell HBase, inserisci la seguente query per richiamare 2 righe della tabella Bigtable popolata dalla pipeline. Possono essere necessari alcuni minuti per ricevere i risultati della query HBase.

Ripeti il comando "scan" finché non ti viene restituito un elenco di righe:

scan 'current_conditions', {'LIMIT' => 2}
  1. Rivedi l'output. Ogni riga è suddivisa in combinazioni composte da colonna, timestamp e valore.

  2. Esegui un'altra query. Questa volta, considera solo la colonna lane: speed, limitandola a 10 righe e specificando i pattern dell'id riga per indicare le righe di inizio e di fine del comando scan:

scan 'current_conditions', {'LIMIT' => 10, STARTROW => '15#S#1', ENDROW => '15#S#999', COLUMN => 'lane:speed'}
  1. Rivedi l'output. Nota che vengono visualizzate 10 combinazioni composte da colonna, timestamp e valore che corrispondono a Highway 15. Nota anche che la colonna è limitata a lane: speed.

  2. Se hai familiarità con la sintassi, puoi eseguire liberamente altre query. Quando hai finito, inserisci quit per uscire dalla shell:

quit

Attività 6: esegui la pulizia

  1. Nel secondo terminale SSH di training-vm, esegui il seguente script per eliminare la tua istanza Bigtable:
cd ~/training-data-analyst/courses/streaming/process/sandiego ./delete_cbt.sh

Se ti viene richiesta una conferma, digita Y.

  1. Nella tua pagina Dataflow nella console Cloud, fai clic sul nome del job di pipeline.

  2. Fai clic su Arresta sulla barra dei menu in alto. Seleziona Annulla, quindi fai clic su Arresta job.

  3. Torna al primo terminale SSH con il publisher e premi Ctrl+C per arrestarlo.

  4. Nella console BigQuery, fai clic sui tre punti accanto al set di dati demos, quindi fai clic su Elimina.

  5. Digita delete e fai clic su Elimina.

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

Prima di iniziare

  1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
  2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
  3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

Utilizza la navigazione privata

  1. Copia il nome utente e la password forniti per il lab
  2. Fai clic su Apri console in modalità privata

Accedi alla console

  1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
  2. Accetta i termini e salta la pagina di ripristino delle risorse
  3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

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

Un lab alla volta

Conferma per terminare tutti i lab esistenti e iniziare questo

Utilizza la navigazione privata per eseguire il lab

Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.