In questo lab imparerai ad aprire un progetto Dataflow, usare i filtri della pipeline ed eseguire la pipeline in locale e sul cloud.
Obiettivi
In questo lab imparerai a scrivere una pipeline Dataflow semplice e a eseguirla sia in locale che sul cloud.
Configura un progetto Dataflow in Java usando Maven
Scrivi una pipeline semplice in Java
Esegui la query sulla macchina locale
Esegui la query sul cloud
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.
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.
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.
Nella barra degli strumenti in alto a destra della console Cloud, fai clic sul pulsante Apri Cloud Shell.
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:
Utilizza l'editor di codice di Google Cloud Shell per creare e modificare facilmente directory e file nell'istanza di Cloud Shell.
Una volta attivato Google Cloud Shell, fai clic su Apri editor per aprire l'editor di codice di Cloud Shell.
Ora hai tre interfacce disponibili:
L'editor di codice di Cloud Shell
Console (facendo clic sulla scheda). Puoi spostarti tra la console e Cloud Shell facendo clic sulla scheda.
La riga di comando di Cloud Shell (facendo clic su Apri terminale nella console)
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
Verifica il bucket e scarica il codice del lab
Per eseguire correttamente questo lab devi completare alcuni passaggi specifici:
Verifica di avere un bucket Cloud Storage (creato automaticamente all'avvio dell'ambiente del lab).
Nella barra del titolo della console Google Cloud, fai clic su Attiva Cloud Shell. Se richiesto, fai clic su Continua. Clona il repository github del codice del lab utilizzando il seguente comando:
In Cloud Shell inserisci il seguente comando per creare due variabili di ambiente, una denominata "BUCKET" e l'altra "REGION". Verifica che esistano entrambe con il comando echo:
L'obiettivo di questo lab è familiarizzare con la struttura di un progetto Dataflow e imparare come eseguire una pipeline Dataflow. Creerai un nuovo progetto Dataflow usando Maven, un potente strumento per build.
Torna alla scheda del browser con Cloud Shell. In Cloud Shell, passa alla directory di questo lab:
cd ~/training-data-analyst/courses/data_analysis/lab2
Nell'editor di codice di Cloud Shell, passa alla directory
/training-data-analyst/courses/data_analysis/lab2.
Seleziona il percorso javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/
e visualizza il file Grep.java.
In alternativa, puoi visualizzare il file con l'editor nano. Non apportare modifiche al codice.
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/
nano Grep.java
Sapresti rispondere a queste domande sul file Grep.java?
Quali file vengono letti?
Qual è il termine di ricerca?
Dove va l'output?
Nella pipeline sono presenti tre istruzioni apply:
Cosa fa la prima istruzione apply()?
Cosa fa la seconda istruzione apply()?
Da dove proviene il suo input?
Che cosa fa con questo input?
Che cosa scrive sul suo output?
Dove va l'output?
Che cosa fa la terza istruzione apply()?
Attività 4: esegui la pipeline in locale
Incolla il seguente comando Maven in Cloud Shell:
cd ~/training-data-analyst/courses/data_analysis/lab2
export PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:$PATH
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp
mvn compile -e exec:java \
-Dexec.mainClass=com.google.cloud.training.dataanalyst.javahelp.Grep
Il file di output sarà output.txt. Se l'output è abbastanza grande, verrà fatto lo sharding in parti separate con nomi quali: output-00000-of-00001. Se necessario, puoi individuare il file corretto esaminando l'ora del file:
Nell'editor di codice di Cloud Shell, passa alla directory /training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp
Modifica la pipeline di Dataflow nel file Grep.java:
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp
Sostituisci le variabili di input e output con il nome del tuo bucket. Sostituisci le variabili in questo modo:
String input = "gs://{{{project_0.project_id|Project ID}}}-bucket/javahelp/*.java";
String outputPrefix = "gs://{{{project_0.project_id|Project ID}}}-bucket/javahelp/output";
Nota: assicurati di aver modificato le stringhe input e outputPrefix già presenti nel codice sorgente (non copiare e incollare l'intera riga riportata sopra senza rimuovere le stringhe iniziali, poiché ti ritroveresti con due variabili uguali).
Righe di esempio prima:
String input = "src/main/java/com/google/cloud/training/dataanalyst/javahelp/*.java";
String outputPrefix = "/tmp/output";
</ql-code-block output>
Righe di esempio dopo la modifica, con il nome del bucket del tuo progetto:
String input = "gs://qwiklabs-gcp-your-value-bucket/javahelp/*.java";
</ql-code-block output>
String outputPrefix = "gs://qwiklabs-gcp-your-value-bucket/javahelp/output";
</ql-code-block output>
5. Esamina lo script per inviare il Dataflow al cloud:
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp
cat run_oncloud1.sh
Qual è la differenza tra questo comando Maven e quello da eseguire in locale?
Trattandosi di un job di piccole dimensioni, l'esecuzione sul cloud impiegherà molto più tempo rispetto all'esecuzione in locale (approssimativamente 2-3 minuti).
Completamento della riga di comando di esempio:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:50 min
[INFO] Finished at: 2018-02-06T15:11:23-05:00
[INFO] Final Memory: 39M/206M
[INFO] ------------------------------------------------------------------------
Torna alla scheda del browser di Cloud Console. Nel menu di navigazione (), fai clic su Dataflow e poi sul tuo job per monitorare l'avanzamento.
Esempio:
Attendi che lo stato del job cambi in Riuscito. A questo punto, Cloud Shell mostrerà un prompt della riga di comando.
Nota: se il job di Dataflow non riesce la prima volta, esegui nuovamente il comando precedente per inviare un nuovo job di Dataflow al cloud
Esamina l'output nel bucket Cloud Storage. Nel menu di navigazione (), fai clic su Cloud Storage > Bucket e fai clic sul tuo bucket.
Fai clic sulla directory javahelp. Questo job genera il file output.txt. Se il file è abbastanza grande, verrà fatto lo sharding in più parti con nomi quali: output-0000x-of-000y. Puoi individuare il file più recente tramite il nome o il campo Ultima modifica. Fai clic sul file per visualizzarlo.
In alternativa, puoi scaricare il file in Cloud Shell e visualizzarlo:
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.
In questo lab imparerai ad aprire un progetto Dataflow, usare i filtri della pipeline ed eseguire la pipeline in locale e sul cloud usando Java.
Durata:
Configurazione in 1 m
·
Accesso da 90 m
·
Completamento in 90 m