我一直在使用 Dataflow Runner v1 和 Java Beam SDK 运行数据管道,没有任何问题。最近,我们尝试将管道迁移到 Runner v2,但遇到了以下问题:
我附上了两张图片,显示了 Runner v1 和 Runner v2 下同一管道的资源使用情况,以供参考。
两条管道并行运行并处理相同的流量
我们尝试过:
检查日志中是否有任何相关错误或警告——没有发现任何问题。
监控各种指标,但我们没有发现任何有用的信息来解释性能差异。 问题:
这是 Dataflow Runner v2 的已知问题吗?
是否存在任何已知的不兼容性或特定功能无法与 Java Beam SDK 中的 Runner v2 配合良好?
从 Runner v1 迁移到 v2 时,我们应该采取哪些优化建议或额外步骤?
任何指导或故障排除提示将不胜感激!
如果这是为了流媒体,我建议不要故意升级到runner v2;一般来说,对于流作业,Dataflow 默认为 v1,因为预计大多数不使用 v2 功能的作业在流上下文中会具有更高的性能(截至目前)。
如果是批量,我建议向Dataflow客户支持(https://cloud.google.com/dataflow/docs/support/getting-support)开一张票来看看,这可能会很有挑战性在无法更仔细地审视相关工作的情况下提供很多帮助。