Google cloud dataflow 步骤之间的数据流控制高扇出
我在数据流管道中有3个数据流步骤Google cloud dataflow 步骤之间的数据流控制高扇出,google-cloud-dataflow,apache-beam,google-cloud-pubsub,Google Cloud Dataflow,Apache Beam,Google Cloud Pubsub,我在数据流管道中有3个数据流步骤 从pubsub读取,保存在表中,并拆分为多个事件(放入上下文输出) 对于每个拆分,查询db并使用其他数据装饰事件 发布到另一个pubsub主题以进行进一步处理 问题: 在步骤1之后,将其拆分为10K到20K事件 现在,在步骤2中,它的数据库连接已用完。(我有一个静态hikari连接池) 它工作非常好,将减少数据量。我使用的是n1-standard-32机器 我应该如何将输入限制到下一步?因此,并行性将受到限制或限制事件进入下一步。我认为基本思想是在执行步骤2时降
在步骤1之后,将其拆分为10K到20K事件 现在,在步骤2中,它的数据库连接已用完。(我有一个静态hikari连接池) 它工作非常好,将减少数据量。我使用的是n1-standard-32机器
我应该如何将输入限制到下一步?因此,并行性将受到限制或限制事件进入下一步。我认为基本思想是在执行步骤2时降低并行性(如果您有大量并行性,则20k事件需要20k连接,因为20k事件是并行处理的) 这些想法包括:
在步骤2中,您认为每个捆绑包设置一个连接的想法是否可行?ParDo的startBundle API允许您对每个捆绑包进行一些初始化。是的,您尝试过使用200个捆绑包。仍然给出了相同的错误。
20k事件,因为20k事件是并行处理的
并行性不受机器内核的限制吗?我说的是一个极端情况。