我有一个用python apache-beam编写的管道。它将800,000个时间戳记的数据写入2秒钟,每1秒重叠一次。我的元素可能有不同的键。
当它执行groupBy时,需要3个小时才能完成。我使用10名工作人员部署在云数据流中。当我增加工人数量时,处理速度没有显着提高。为什么这会改变我的管道?
答案 0 :(得分:0)
总结jkff和其他人的答案:
管道似乎被一个非常大的钥匙瓶颈。您可以使用常规Java日志记录并查看工作日志(例如,在processElement()中测量您的DoFn处理时间,如果它超过阈值则记录它,但遗憾的是我们还没有提供更高的 - 用于调试的级别工具"热键"的问题。
您还可以启用autoscaling,以便该服务至少可以关闭未使用的工作人员,以免您收取费用。