Usa la interfaz de línea de comandos de Cloud Dataflow

Cuando ejecutas la canalización mediante el servicio administrado de Dataflow, puedes obtener información sobre tu trabajo de Dataflow por medio de la interfaz de línea de comandos de Dataflow. La interfaz de línea de comandos de Dataflow es parte de la herramienta de línea de comandos de gcloud en el SDK de Cloud.

NOTA: Si prefieres interactuar con los trabajos de Dataflow y visualizarlos mediante la IU basada en la web, usa la interfaz de supervisión de Dataflow

Instala el componente de línea de comandos de Cloud Dataflow

Para usar la interfaz de línea de comandos de Dataflow, primero debes instalar los componentes Beta en la herramienta de gcloud. En el shell o en la ventana de la terminal, ingresa lo siguiente:

  gcloud components update beta

Escribe y cuando se te solicite continuar.

Ejecuta los comandos disponibles

Interactúa con la interfaz de línea de comandos de Dataflow mediante la ejecución de los comandos disponibles. Para ejecutar un comando, escribe el siguiente comando en el shell o la terminal:

  gcloud beta dataflow

La interfaz de línea de comandos de Dataflow tiene tres subcomandos principales: jobs, logs y metrics.

Comandos jobs

El grupo de subcomandos jobs te permite visualizar los trabajos de Dataflow en tu proyecto de Google Cloud y, además, interactuar con ellos. Puedes usar estos comandos para ver una lista de tus trabajos, cancelar un trabajo y mostrar la descripción de un proyecto específico, entre otras acciones. Por ejemplo, para ver una lista de todos tus trabajos de Dataflow, escribe el siguiente comando en el shell o la terminal:

gcloud dataflow jobs list

La herramienta de gcloud muestra una lista de los trabajos actuales, con este formato:

  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

Mediante el ID de trabajo, puedes ejecutar el comando describe para mostrar más información sobre un trabajo.

export JOBID=<X>
gcloud beta dataflow jobs describe $JOBID

Por ejemplo, si ejecutas el comando para el ID de trabajo 2015-02-09_11_39_40-15635991037808002875, la herramienta de gcloud muestra la siguiente información:

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

Puedes ejecutar el comando con la opción --format=json para dar formato JSON al resultado.

gcloud --format=json beta dataflow jobs describe $JOBID

La herramienta de gcloud muestra la siguiente información con formato:

{
  "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"
}

Para obtener una lista completa de los comandos jobs, consulta el comando gcloud beta dataflow jobs en la documentación del SDK de Cloud.

Comandos logs

Los comandos logs muestran entradas de registro de trabajos que se ejecutan en el servicio de Dataflow.

Por ejemplo, puedes usar el comando list para imprimir los registros que proporcionan información sobre la actividad de tu trabajo.

export JOBID=<X>
gcloud beta dataflow logs list $JOBID

Para el ID de trabajo 2015-02-09_11_39_40-15635991037808002875, la herramienta de gcloud muestra lo siguiente:

Listed 0 items.

En este ejemplo, no se mostró ningún registro con el nivel de gravedad predeterminado (Warning). Para incluir los registros BASIC, ejecuta el comando list con la opción --importance=detailed.

gcloud beta dataflow logs list $JOBID --importance=detailed

Con la herramienta de gcloud, se imprimen los siguientes registros:

d 2016-08-29T09:33:28 2015-02-09_11_39_40-15635991037808002875_00000156d72606f7 (39b2a31f5e883423): Starting worker pool synchronously
d 2016-08-29T09:33:28 2015-02-09_11_39_40-15635991037808002875_00000156d7260871 (39b2a31f5e883ce9): Worker pool is running
d 2016-08-29T09:33:28 2015-02-09_11_39_40-15635991037808002875_00000156d7260874 (39b2a31f5e883b77): Executing operation Count.PerElement/Sum.PerKey/GroupByKey/GroupByKeyOnly…
...

Para obtener una lista completa de los comandos logs, consulta el comando gcloud beta dataflow logs en la documentación del SDK de Cloud.

Comandos metrics

Los comandos metrics te permiten ver las métricas de un trabajo de Dataflow determinado.

Nota: Los nombres del comando metric están sujetos a cambios, y ciertas métricas pueden eliminarse.

Puedes usar el comando list para obtener información sobre los pasos en tu trabajo.

gcloud beta dataflow metrics list $JOBID

Para este comando, la herramienta de gcloud muestra lo siguiente:

---
name:
  name: s09-s14-start-msecs
  origin: dataflow/v1b3
scalar: 137
updateTime: '2016-08-29T16:35:50.007Z'
---
name:
  context:
    output_user_name: WordCount.CountWords/Count.PerElement/Init-out0
  name: ElementCount
  origin: dataflow/v1b3
scalar: 26181
updateTime: '2016-08-29T16:35:50.007Z'
---
name:
  context:
    step: s2
  name: emptyLines
  origin: user
scalar: 1080
updateTime: '2016-08-29T16:35:50.007Z'
...

Puedes usar el comando gcloud beta dataflow metrics list para obtener métricas tentativas mientras tu trabajo se ejecuta o poco después de que se complete. Para ver las métricas tentativas, ejecuta el comando con la marca --tentative. Una métrica marcada como tentative se actualiza con frecuencia a medida que las instancias de trabajador procesan los datos de tu canalización. Puede disminuir si se genera un error en un trabajador. Las métricas tentative se convierten en valores committed cuando un trabajador finaliza el trabajo y confirma los resultados.

Para obtener una lista completa de los comandos metrics, consulta el comando gcloud beta dataflow metrics en la documentación del SDK de Cloud.

Usa comandos con extremos regionales

La interfaz de línea de comandos de Dataflow admite extremos regionales desde la versión 176 de la herramienta de gcloud. Usa la opción --region con cualquier comando para especificar el extremo regional que administra tu trabajo.

Por ejemplo, gcloud dataflow jobs list mostrará una lista de los trabajos de todas las regiones, pero gcloud dataflow jobs list --region=europe-west1 solo mostrará los trabajos administrados desde europe-west1.

Nota: La opción --region es obligatoria para obtener información de un trabajo de un extremo regional. Si no especificas un extremo regional, us-central1 se usará como el extremo predeterminado.