使用 Dataflow 托管式服务执行流水线时,您可以使用 Dataflow 的 Web 监控界面查看该作业和其他任何作业。Cloud Dataflow 命令行界面是 Cloud SDK 中 gcloud
命令行工具的一部分。
注意:如果您想要使用 Web 界面来查看 Dataflow 作业并与之交互,请使用 Dataflow 监控界面。
安装 Cloud Dataflow 命令行组件
如需使用 Dataflow 命令行界面,您首先需要安装 gcloud
工具。
运行可用命令
您可以通过运行可用命令来与 Dataflow 命令行界面进行交互。要运行命令,请将如下命令输入到 Shell 或终端窗口:
gcloud dataflow
Dataflow 命令行界面包含三大子命令:jobs
、logs
和 metrics
。
Jobs 命令
jobs
子命令组可让您查看 Google Cloud 项目中的 Dataflow 作业并与之交互。您可以使用这些命令执行多种操作,比如查看作业列表、取消作业以及显示特定作业的说明。例如,要查看所有 Dataflow 作业的列表,请将如下命令输入到 Shell 或终端窗口:
gcloud dataflow jobs list
gcloud
工具会返回当前作业列表,如下所示:
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
您可以借助作业 ID 来运行 describe
命令,以显示有关作业的更多信息。
export JOBID=<X> gcloud dataflow jobs describe $JOBID
例如,如果您针对作业 ID 2015-02-09_11_39_40-15635991037808002875
运行上述命令,gcloud
工具会返回以下信息:
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
您可以在运行命令时使用 --format=json
选项,以将结果的格式设置为 JSON。
gcloud --format=json dataflow jobs describe $JOBID
gcloud
工具会返回经过格式设置的如下信息:
{ "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" }
如需查看 jobs
命令的完整列表,请参阅 Cloud SDK 文档中的 gcloud dataflow jobs 命令。
Logs 命令
logs
命令会显示在 Dataflow 服务上运行的作业的日志条目。
例如,您可以使用 list
命令输出有关作业正在执行哪些操作的日志。
export JOBID=<X> gcloud dataflow logs list $JOBID
对于作业 ID 2015-02-09_11_39_40-15635991037808002875
,gcloud
工具会返回:
Listed 0 items.
在本示例中,默认严重级别 (Warning
) 下没有显示任何日志。您可以运行带有 --importance=detailed
选项的 list
命令来添加 BASIC
日志。
gcloud dataflow logs list $JOBID --importance=detailed
gcloud
工具会输出以下日志:
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… ...
如需查看 logs
命令的完整列表,请参阅 Cloud SDK 文档中的 gcloud dataflow logs 命令。
Metrics 命令
借助 metrics
命令,您可以查看给定 Dataflow 作业的指标。
注意:metric
命令名称随时可能更改,并且某些指标随时可能删除。
您可以使用 list
命令获取有关作业中各步骤的信息。
gcloud dataflow metrics list $JOBID
对于此命令,gcloud
工具会返回如下结果:
--- 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' ...
您可以在作业运行过程中(或结束后不久)使用 gcloud dataflow metrics list
命令获取暂定指标。如需查看暂定指标,请运行该命令并使用 --tentative
标志。在工作器实例处理流水线数据的过程中,标记为 tentative
的指标将频繁更新。如果工作器遇到错误,更新频率可能会降低。工作器完成作业并提交结果后,tentative
指标将变成 committed
值。
如需查看 metrics
命令的完整列表,请参阅 Cloud SDK 文档中的 gcloud dataflow metrics 命令。
将命令与区域端点结合使用
自 gcloud 工具 176 版起,Dataflow 命令行界面就支持区域端点。通过将 --region
选项与任何命令结合使用,即可指定用于管理作业的区域端点。
例如,gcloud dataflow jobs list
可列出所有区域的作业,但 gcloud dataflow jobs list --region=europe-west1
仅可列出 europe-west1
区域管理的作业。
注意:如需从区域端点获取作业信息,必须使用 --region
选项。如果您未指定区域端点,则 us-central1
将用作默认端点。