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.
Accedi a Qwiklabs utilizzando una finestra di navigazione in incognito.
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.
Quando è tutto pronto, fai clic su Inizia lab.
Annota le tue credenziali del lab (Nome utente e Password). Le userai per accedere a Google Cloud Console.
Fai clic su Apri console Google.
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.
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).
Nella console Google Cloud, nel menu di navigazione (), seleziona IAM e amministrazione > IAM.
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
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.
Nel menu di navigazione della console Google Cloud, fai clic su Panoramica di Cloud > Dashboard.
Copia il numero del progetto (es. 729328892908).
Nel menu di navigazione, seleziona IAM e amministrazione > IAM.
Nella parte superiore della tabella dei ruoli, sotto Visualizza per entità, fai clic su Concedi accesso.
Sostituisci {project-number} con il numero del tuo progetto.
Come Ruolo, seleziona Progetto (o Base) > Editor.
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
Nella console, nel menu di navigazione ( ), fai clic su Compute Engine > Istanze VM.
Trova la riga con l'istanza denominata training-vm.
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.
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
Nell'angolo superiore destro del terminale SSH di training-vm, fai clic sul pulsante a forma di ingranaggio () 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.
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
Esegui il seguente blocco di codice in Cloud Shell per assicurarti che siano state impostate le API e le autorizzazioni corrette.
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.
Premi CTRL+X per uscire.
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
Esegui i seguenti comandi per fare in modo che la pipeline Dataflow legga da PubSub e trascriva in Cloud Bigtable:
[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
Torna alla scheda del browser della console. Nel 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.
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
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
Al completamento dello script, ti troverai in un prompt della shell HBase come questo:
hbase(main):001:0>
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}
Rivedi l'output. Ogni riga è suddivisa in combinazioni composte da colonna, timestamp e valore.
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:
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.
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
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.
Nella tua pagina Dataflow nella console Cloud, fai clic sul nome del job di pipeline.
Fai clic su Arresta sulla barra dei menu in alto. Seleziona Annulla, quindi fai clic su Arresta job.
Torna al primo terminale SSH con il publisher e premi Ctrl+C per arrestarlo.
Nella console BigQuery, fai clic sui tre punti accanto al set di dati demos, quindi fai clic su Elimina.
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.
I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare
Utilizza la navigazione privata
Copia il nome utente e la password forniti per il lab
Fai clic su Apri console in modalità privata
Accedi alla console
Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
Accetta i termini e salta la pagina di ripristino delle risorse
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.
Elaborazione dei dati in modalità flusso: inserimento di flussi di dati in Bigtable
Durata:
Configurazione in 1 m
·
Accesso da 120 m
·
Completamento in 120 m