Utilizza l'interfaccia a riga di comando di Dataflow

Quando esegui la pipeline utilizzando il servizio gestito da Dataflow, puoi ottenere informazioni sul job Dataflow utilizzando l'interfaccia a riga di comando di Dataflow. L'interfaccia a riga di comando di Dataflow fa parte dello strumento a riga di comando di 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 è automaticamente disponibile.

Esecuzione dei comandi

Puoi interagire con l'interfaccia a riga di comando di Dataflow eseguendo i comandi disponibili. Per visualizzare l'elenco dei comandi Dataflow disponibili, digita questo comando nella shell o nel terminale:

  gcloud dataflow --help

Come mostrato nell'output, il comando Dataflow ha i quattro gruppi seguenti: flex-template, jobs, snapshots e sql.

Comandi del modello flessibile

Il gruppo di sottocomandi flex-template consente di lavorare con i modelli flessibili di Dataflow. Sono supportate le seguenti operazioni:

  • build: crea un file modello flessibile con i 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 delle specifiche del modello contiene tutte le informazioni necessarie per eseguire il job, ad esempio le informazioni sull'SDK e i metadati. Inoltre, il file metadata.json contiene informazioni sul modello, come nome, descrizione e parametri di input. Dopo aver creato il file delle specifiche 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 Creazione ed esecuzione di modelli flessibili.

Comandi job

Il gruppo di sottocomandi jobs 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: svuota tutti i job che corrispondono agli argomenti della riga di comando.
  • list: elenca tutti i job in un determinato progetto, facoltativamente filtrati per regione.
  • run: esegue un job dal percorso specificato.
  • show: mostra una breve descrizione del lavoro specificato.

Per ottenere un elenco di tutti i job Dataflow nel progetto, esegui questo comando nella shell o nel terminale :

gcloud dataflow jobs list

Il comando restituisce un elenco dei job correnti. 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 ciascun 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, questo è 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 è nel formato 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 snapshot

Il gruppo di sottocomandi snapshots consente di lavorare con gli snapshot 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, facoltativamente filtrati in base all'ID job.

Per saperne di più sull'utilizzo degli snapshot in Dataflow, consulta Utilizzo degli snapshot Dataflow.

Comandi SQL

Il gruppo di sottocomandi sql 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 questo comando 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 globalmente univoco del 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 di Dataflow potrebbe richiedere diversi minuti. Non puoi aggiornare il job dopo averlo creato. I job SQL di Dataflow utilizzano la scalabilità automatica e Dataflow sceglie automaticamente la modalità di esecuzione in modalità batch o flusso. Non puoi controllare questo comportamento per i job SQL di Dataflow. Per arrestare i job SQL di Dataflow, utilizza il comando cancel. L'arresto di un job SQL di Dataflow con drain non è supportato.

Per saperne di più sull'utilizzo dei comandi SQL per Dataflow, consulta il riferimento SQL di Dataflow e la documentazione di gcloud Dataflow sql query.

Utilizzo di comandi con le regioni

L'interfaccia a riga di comando di Dataflow supporta le regioni a partire da gcloud CLI versione 176. Utilizza l'opzione --region con qualsiasi comando per specificare la regione in cui viene gestito 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.