Cuando ejecutas tu canalización con el servicio administrado de Dataflow, puedes obtener información sobre tu 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 en Google Cloud CLI.
Si prefieres interactuar y ver tus trabajos de Dataflow con la consola de Google Cloud, usa la interfaz de supervisión de Dataflow.
Instala el componente de línea de comandos de Dataflow
Para usar la interfaz de línea de comandos de Dataflow desde tu terminal local, instala y configura Google Cloud CLI.
La interfaz de línea de comandos de Dataflow está disponible automáticamente para Cloud Shell.
Ejecuta los comandos
Interactúa con la interfaz de línea de comandos de Dataflow mediante la ejecución de los comandos disponibles. Para ver la lista de comandos de Dataflow disponibles, escribe el siguiente comando en tu shell o terminal:
gcloud dataflow --help
Como se ve en el resultado, el comando de Dataflow tiene los siguientes cuatro grupos: flex-template
, jobs
, snapshots
y sql
.
Comandos de la plantilla flexible
El grupo de subcomandos flex-template
te permite trabajar con plantillas de Dataflow Flex. Se admiten las siguientes operaciones:
build
: compila un archivo de plantilla flexible a partir de los parámetros especificados.run
: ejecuta un trabajo desde la ruta de acceso especificada.
Para ejecutar una plantilla, debes crear un archivo de especificación de plantilla que esté almacenado en un bucket de Cloud Storage. El archivo de especificación de plantilla contiene toda la información necesaria para ejecutar el trabajo, como la información del SDK y los metadatos. Además, el archivo metadata.json
contiene información sobre la plantilla, como el nombre, la descripción y los parámetros de entrada. Después de crear el archivo de especificación de la plantilla, puedes compilar la plantilla flexible con Java o Python.
Para obtener información sobre cómo crear y ejecutar una plantilla de Flex con Google Cloud CLI, consulta el instructivo Compila y ejecuta plantillas de Flex.
Comandos jobs
El grupo de subcomandos jobs
te permite ejecutar trabajos de Dataflow en tu proyecto. Se admiten las siguientes operaciones:
cancel
: cancela todos los trabajos que coinciden con los argumentos de la línea de comandos.describe
: da salida al objeto de trabajo resultante de la API de Get.drain
: agota todos los trabajos que coinciden con los argumentos de la línea de comandos.list
: muestra una lista de todos los trabajos de un proyecto en particular, que se filtran de forma opcional según la región.run
: ejecuta un trabajo desde la ruta de acceso especificada.show
: muestra una descripción breve del trabajo dado.
Para obtener una lista de todos los trabajos de Dataflow de su proyecto, ejecute el siguiente comando en su shell o terminal:
gcloud dataflow jobs list
El comando muestra una lista de tus trabajos actuales. El siguiente es un resultado de muestra:
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 trabajo ID
que se muestra para cada trabajo, puedes ejecutar el comando describe
a fin de mostrar más información sobre un trabajo.
gcloud dataflow jobs describe JOB_ID
Reemplaza JOB_ID con el trabajo ID
de uno de los trabajos de Dataflow de tu proyecto.
Por ejemplo, si ejecutas el comando para el ID de trabajo 2015-02-09_11_39_40-15635991037808002875
, el siguiente es un resultado de muestra:
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 formatear el resultado en JSON, ejecuta el comando con la opción --format=json
:
gcloud --format=json dataflow jobs describe JOB_ID
Reemplaza JOB_ID con el trabajo ID
de uno de los trabajos de Dataflow de tu proyecto.
El siguiente resultado de muestra tiene el 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" }
Comandos de instantáneas
El grupo de subcomandos snapshots
te permite trabajar con instantáneas de Dataflow. Se admiten las siguientes operaciones:
create
: Crea una instantánea para un trabajo de Dataflow.delete
: Borra una instantánea de Dataflow.describe
: Describe una instantánea de Dataflow.list
: Enumera todas las instantáneas de Dataflow en un proyecto en la región especificada, filtradas de forma opcional por el ID de trabajo.
Para obtener más información sobre el uso de instantáneas en Dataflow, consulta Usa instantáneas de Dataflow.
Comandos de SQL
El grupo de subcomandos sql
te permite trabajar con Dataflow SQL. El comando gcloud Dataflow sql query
acepta y ejecuta una consulta de SQL especificada por el usuario en Dataflow.
Por ejemplo, para ejecutar una consulta de SQL simple en un trabajo de Dataflow que lee de un conjunto de datos de BigQuery y escribe en otro conjunto de datos de BigQuery, ejecute la siguiente información en su shell o terminal:
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
Reemplaza lo siguiente:
- PROJECT_ID: un nombre global único para tu proyecto
- JOB_NAME: un nombre para tu trabajo de Dataflow
- OUTPUT_DATASET: un nombre para el conjunto de datos de salida
- OUTPUT_TABLE: un nombre para la tabla de salida
Iniciar un trabajo de Dataflow SQL puede tardar varios minutos. No puedes actualizar el trabajo después de crearlo. Los trabajos de Dataflow SQL usan el ajuste de escala automático y Dataflow elige de forma automática el modo de ejecución, ya sea por lotes o de transmisión. No puedes controlar este comportamiento para los trabajos de Dataflow SQL. Para detener los trabajos de Dataflow SQL, usa el comando Cancelcancel
. No se admite la detención de un trabajo de Dataflow SQL con drain
.
Si deseas obtener más información para usar los comandos de SQL para Dataflow, consulta la documentación de referencia de SQL y de gcloud Dataflow sql query
.
Usa comandos con regiones
La interfaz de línea de comandos de Dataflow admite regiones a partir de la versión 176 de gcloud CLI. Usa la opción --region
con cualquier comando para especificar la región que administra el trabajo.
Por ejemplo, gcloud dataflow jobs list
enumera los trabajos de todas las regiones, pero gcloud dataflow jobs list --region=europe-west1
solo muestra los trabajos administrados desde europe-west1
.