【发布时间】:2017-08-25 21:28:04
【问题描述】:
鉴于键/值对的数据源相对较小 (3,000-10,000),我试图仅处理满足组阈值 (50-100) 的记录。因此,最简单的方法是通过键对它们进行分组、过滤和展开 - 使用 FlatMap 或 ParDo。迄今为止,最大的组只有 1,500 条记录。但这似乎是 Google Cloud Dataflow 生产的严重瓶颈。
有给定的列表
(1, 1) (1, 2) (1, 3) ... (2, 1) (2, 2) (2, 3) ...
运行一组转换以按键过滤和分组:
p | 'Group' >> beam.GroupByKey()
| 'Filter' >> beam.Filter(lambda (key, values): len(list(values)) > 50)
| 'Unwind' >> beam.FlatMap(lambda (key, values): values)
关于如何提高性能的任何想法?感谢您的帮助!
【问题讨论】:
-
请报告调查结果!如果答案有用,请选择它。
标签: python google-cloud-dataflow apache-beam