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

Cuando ejecuta la canalización mediante el servicio administrado de Dataflow, puede obtener información sobre su trabajo de Dataflow mediante 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 gcloud del SDK de Cloud.

NOTA: Si prefieres ver e interactuar con tus trabajos de Dataflow 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 debe instalar los componentes Beta en la herramienta gcloud. En tu shell o ventana terminal, ingresa lo siguiente:

      gcloud components update beta
    

Escribe y cuando se te solicite que continúes.

Ejecuta los comandos disponibles

Para interactuar con la interfaz de línea de comandos de Dataflow, ejecute los comandos disponibles. Para ejecutar un comando, escribe el siguiente comando en tu shell o 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 ver e interactuar con los trabajos de Dataflow en tu proyecto de Google Cloud. Puedes usar estos comandos para ver una lista de tus trabajos, cancelar un trabajo, mostrar una descripción de un proyecto específico, entre otros. Por ejemplo, para ver una lista de todos sus trabajos de Dataflow, escriba el siguiente comando en su shell o terminal:

    gcloud dataflow jobs list
    

La herramienta gcloud muestra una lista de tus trabajos actuales, de la siguiente manera:

      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
    

Con el ID del trabajo, puede 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 ejecuta el comando para el ID de trabajo 2015-02-09_11_39_40-15635991037808002875, la herramienta 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
    

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

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

La herramienta 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 las entradas del registro de los trabajos que se ejecutan en el servicio de Dataflow.

Por ejemplo, puede usar el comando list para imprimir los registros que proporcionan información sobre lo que su trabajo está haciendo.

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

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

    Listed 0 items.
    

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

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

La herramienta gcloud imprime 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 en la documentación del SDK de Cloud.

Comandos metrics

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

Nota: Los nombres de los comandos metric están sujetos a cambios y algunas métricas están sujetas a eliminación.

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

    gcloud beta dataflow metrics list $JOBID
    

Para este comando, la herramienta 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'
    ...
    

Puede usar el comando gcloud beta dataflow metrics list para obtener métricas tentativas mientras su trabajo se está ejecutando o poco después de que termine. Para ver las métricas tentativas, ejecute el comando con la marca --tentative. Una métrica marcada como tentative se actualiza con frecuencia a medida que las instancias de trabajadores procesan los datos de su canalización. Puede disminuir si un trabajador experimenta un error. Las métricas tentative se convierten en valores committed cuando un trabajador termina de trabajar 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 gcloud. Use la opción --region con cualquier comando para especificar el extremo regional que administra su trabajo.

Por ejemplo, gcloud dataflow jobs list enumerará 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 necesaria para obtener información del trabajo de un extremo regional. Si no especifica un extremo regional, us-central1 se usará como el extremo predeterminado.