【发布时间】:2019-02-12 04:52:08
【问题描述】:
我在管道中执行 GroupByKey,键是字符串,值是字典。我想对它们进行分组并对它们进行处理。 如果我删除 GroupByKey,我可以进入下一步,但不能使用它。
(parseout_interim | beam.Map(lambda row: (row['prefix'] + row['report_id'], row))
# | beam.GroupByKey()
| beam.ParDo(ParseSegmentsDoFn()).with_outputs(ParseSegmentsDoFn.OUTPUT_TAG_TRADELINE,
main = 'parseout'))
如果我评论 GroupByKey,数据到达下一步。
我完全错过了什么吗?
另外,在旁注中 - 是否建议不要在 ParDo 内旋转管道?还是完全没问题?如果没问题,我就不用使用 groupbykey 了
【问题讨论】:
-
我正在从 PubSub 阅读,这就是 groupbykey 不起作用的原因。如果我没记错的话,它正在采取无限的 pcollection 并且永远等待。我引入了时间窗,现在它可以按预期工作了。
-
我很高兴你明白了这一点。我发布了一个小解释。如果我应该提供更多背景信息,请告诉我。
标签: python-2.7 google-cloud-platform google-cloud-dataflow apache-beam