Quando esegui la pipeline utilizzando il servizio gestito da Dataflow, puoi ottenere informazioni sul tuo job Dataflow utilizzando l'interfaccia a riga di comando di Dataflow. L'interfaccia a riga di comando Dataflow fa parte dello strumento a riga di comando in Google Cloud CLI.
Se preferisci visualizzare e interagire con i job Dataflow utilizzando la console Google Cloud, utilizza l'interfaccia di monitoraggio di Dataflow.
Installazione del componente a riga di comando Dataflow
Per utilizzare l'interfaccia a riga di comando di Dataflow dal terminale locale, installa e configura Google Cloud CLI.
Per Cloud Shell, l'interfaccia a riga di comando di Dataflow è disponibile automaticamente.
Eseguire i comandi
Interagisci con l'interfaccia a riga di comando di Dataflow eseguendo i comandi disponibili. Per visualizzare l'elenco dei comandi Dataflow disponibili, digita il seguente comando nella shell o nel terminale:
gcloud dataflow --help
Come mostrato nell'output, il comando Dataflow ha i seguenti quattro gruppi:
flex-template
, jobs
, snapshots
e sql
.
Comandi di Flex Template
Il gruppo di sottocomandi flex-template
ti consente di lavorare con i modelli flessibili Dataflow. Sono supportate le seguenti operazioni:
build
: genera un file modello flessibile dai parametri specificati.run
: esegue un job dal percorso specificato.
Per eseguire un modello, devi creare un file di specifica del modello archiviato in un bucket Cloud Storage. Il file di specifica del modello contiene tutte le informazioni necessarie per eseguire il job, ad esempio le informazioni e i metadati dell'SDK. Inoltre, il file metadata.json
contiene informazioni sul modello, come il nome, la descrizione e i parametri di input. Dopo aver creato il file di specifica del modello, puoi creare il modello flessibile utilizzando Java o Python.
Per informazioni su come creare ed eseguire un modello flessibile utilizzando Google Cloud CLI, consulta il tutorial Creare ed eseguire modelli flessibili.
Comandi job
Il gruppo di sottocomandi jobs
ti consente di lavorare con i job Dataflow nel tuo progetto. Sono supportate le seguenti operazioni:
cancel
: annulla tutti i job che corrispondono agli argomenti della riga di comando.describe
: restituisce l'oggetto Job risultante dall'API Get.drain
: scarica tutti i job che corrispondono agli argomenti della riga di comando.list
: elenca tutti i job di un determinato progetto, eventualmente filtrati per regione.run
: esegue un job dal percorso specificato.show
: mostra una breve descrizione del job specificato.
Per visualizzare un elenco di tutti i job Dataflow nel progetto, esegui il seguente comando nella shell o nel terminale :
gcloud dataflow jobs list
Il comando restituisce un elenco dei job in corso. Di seguito è riportato un output di esempio:
ID NAME TYPE CREATION_TIME STATE REGION 2015-06-03_16_39_22-4020553808241078833 wordcount-janedoe-0603233849 Batch 2015-06-03 16:39:22 Done us-central1 2015-06-03_16_38_28-4363652261786938862 wordcount-johndoe-0603233820 Batch 2015-06-03 16:38:28 Done us-central1 2015-05-21_16_24_11-17823098268333533078 bigquerytornadoes-johndoe-0521232402 Batch 2015-05-21 16:24:11 Done europe-west1 2015-05-21_13_38_06-16409850040969261121 bigquerytornadoes-johndoe-0521203801 Batch 2015-05-21 13:38:06 Done us-central1 2015-05-21_13_17_18-18349574013243942260 bigquerytornadoes-johndoe-0521201710 Batch 2015-05-21 13:17:18 Done europe-west1 2015-05-21_12_49_37-9791290545307959963 wordcount-johndoe-0521194928 Batch 2015-05-21 12:49:37 Done us-central1 2015-05-20_15_54_51-15905022415025455887 wordcount-johndoe-0520225444 Batch 2015-05-20 15:54:51 Failed us-central1 2015-05-20_15_47_02-14774624590029708464 wordcount-johndoe-0520224637 Batch 2015-05-20 15:47:02 Done us-central1
Utilizzando il job ID
visualizzato per ogni job, puoi eseguire il comando describe
per visualizzare ulteriori informazioni su un job.
gcloud dataflow jobs describe JOB_ID
Sostituisci JOB_ID con il job ID
di uno dei job Dataflow del tuo progetto.
Ad esempio, se esegui il comando per l'ID job 2015-02-09_11_39_40-15635991037808002875
, di seguito è riportato un output di esempio:
createTime: '2015-02-09T19:39:41.140Z' currentState: JOB_STATE_DONE currentStateTime: '2015-02-09T19:56:39.510Z' id: 2015-02-09_11_39_40-15635991037808002875 name: tfidf-bchambers-0209193926 projectId: google.com:clouddfe type: JOB_TYPE_BATCH
Per formattare il risultato in JSON, esegui il comando con l'opzione --format=json
:
gcloud --format=json dataflow jobs describe JOB_ID
Sostituisci JOB_ID con il job ID
di uno dei job Dataflow del tuo progetto.
Il seguente output di esempio è formattato come JSON:
{ "createTime": "2015-02-09T19:39:41.140Z", "currentState": "JOB_STATE_DONE", "currentStateTime": "2015-02-09T19:56:39.510Z", "id": "2015-02-09_11_39_40-15635991037808002875", "name": "tfidf-bchambers-0209193926", "projectId": "google.com:clouddfe", "type": "JOB_TYPE_BATCH" }
Comandi per gli snapshot
Il gruppo di sottocomandi snapshots
ti consente di lavorare con gli snapshot di Dataflow. Sono supportate le seguenti operazioni:
create
: crea uno snapshot per un job Dataflow.delete
: elimina uno snapshot Dataflow.describe
: descrive uno snapshot Dataflow.list
: elenca tutti gli snapshot Dataflow in un progetto nella regione specificata, eventualmente filtrati per ID job.
Per ulteriori informazioni sull'utilizzo degli snapshot in Dataflow, consulta Utilizzo degli snapshot di Dataflow.
Comandi SQL
Il gruppo di sottocomandi sql
ti consente di lavorare con Dataflow SQL. Il comando gcloud Dataflow sql query
accetta ed esegue una query SQL specificata dall'utente su Dataflow.
Ad esempio, per eseguire una semplice query SQL su un job Dataflow che legge da un set di dati BigQuery e scrive in un altro set di dati BigQuery, esegui quanto segue nella shell o nel terminale:
gcloud dataflow sql query 'SELECT word FROM bigquery.table.PROJECT_ID.input_dataset.input_table where count > 3' --job-name=JOB_NAME \ --region=us-west1 \ --bigquery-dataset=OUTPUT_DATASET \ --bigquery-table=OUTPUT_TABLE
Sostituisci quanto segue:
- PROJECT_ID: un nome univoco a livello globale per il progetto
- JOB_NAME: un nome per il job Dataflow
- OUTPUT_DATASET: un nome per il set di dati di output
- OUTPUT_TABLE: un nome per la tabella di output
L'avvio di un job SQL Dataflow potrebbe richiedere diversi minuti. Non puoi aggiornare il job dopo averlo creato. I job Dataflow SQL utilizzano la scalabilità automatica e Dataflow sceglie automaticamente la modalità di esecuzione in batch o in streaming. Non puoi controllare questo comportamento per i job Dataflow SQL. Per interrompere i job Dataflow SQL, utilizza il comando cancel
. L'interruzione di un job Dataflow SQL con drain
non è supportata.
Per ulteriori informazioni sull'utilizzo dei comandi SQL per Dataflow, consulta il riferimento SQL di Dataflow e la documentazione di gcloud Dataflow sql query
.
Utilizzare i comandi con le regioni
L'interfaccia a riga di comando di Dataflow supporta le regioni a partire dalla versione 176 gcloud CLI. Utilizza l'opzione --region
con qualsiasi comando per specificare la regione che gestisce il job.
Ad esempio, gcloud dataflow jobs list
elenca i job di tutte le regioni, ma
gcloud dataflow jobs list --region=europe-west1
elenca solo i job gestiti
da europe-west1
.