我有一个看起来像这样的Cloud Dataflow管道:
最初,没有设置任何最大数量的工作程序,数据流自动扩展将扩展到最大(1000个节点),并且会给我们的Bigtable集群带来很多压力。然后,我指定了一些maxNumWorkers来表示100,这很好,并且不会对我们的Bigtable集群造成任何疯狂的负担,并且阶段1通常会很快完成(从Bigtable读取);但是只有100个节点的第2步和第3步花费的时间要长得多。无论如何,在第一阶段之后我是否可以动态更改maxNumWorkers?我看到apply(Wait.on),但不确定如何使用它。我的梁工作看起来像这样:
pipeline
.apply("Read Bigtable",...)
.apply("Transform", ...)
.apply("Partition&Write", ...)
我正在寻找一种等待。apply(“ Read Bigtable”,...)完成然后增加maxNumWorkers的方法。本质上,我的第一阶段是IO绑定,我不需要CPU(工人),但是我的后期是CPU绑定,我需要更多的CPU(工人)。