【发布时间】:2017-05-03 19:58:53
【问题描述】:
我有一个数据流作业,它从多个 Google Pub/Sub 主题中提取消息,对这些消息中包含的各个元素进行一些并行处理,然后传递集合以供各种资源进一步使用。我想整理一个 Stackdriver 信息中心,显示为每个主题处理了多少个单独的元素。每个 ParDo 步骤都会输出一个 PCollection。
我已经使用 ElementCount 设置了仪表板,但我只能按作业过滤,而不是按步骤过滤。如果我将鼠标悬停在使用 ElementCount 生成的图表中的线条上,我可以看到每一步的计数。事实上,这些指标似乎正在被报告,因为我可以通过以下方式使用 gcloud 命令行实用程序:
gcloud beta dataflow metrics list [jobid] --filter ElementCount
...
name:
context:
original_name: extract_value_topic_1/Map-out0-ElementCount
output_user_name: extract_value_topic_1/Map-out0
name: ElementCount
origin: dataflow/v1b3
scalar: 7000
updateTime: '2017-05-03T18:13:22.804Z'
---
name:
context:
original_name: extract_value_topic_2/Map-out0-ElementCount
output_user_name: extract_value_topic_2/Map-out0
name: ElementCount
origin: dataflow/v1b3
scalar: 12000
updateTime: '2017-05-03T18:13:22.804Z'
我有其中几个,但我没有看到基于它们构建 Stackdriver 图表的简单方法(除了将处理的每个元素记录到控制台然后使用它生成基于日志的指标,但这似乎就像它在许多级别上都非常低效。)我错过了什么吗?如何根据这些 ElementCounts 创建图表?
编辑:此外,如果我打开 Metrics Explorer,我可以在搜索框中输入 dataflow/job/element_count,然后在过滤器框中输入 pcollection,但我无法使用此图表作为过滤器构建仪表板仪表板图表构建器中的选择不允许按 pcollection 进行过滤。
【问题讨论】:
标签: google-cloud-dataflow stackdriver apache-beam