Google数据流模板 - 传递NumWorkers,MaxNumWorkers,WorkerMachineType,AutoscalingAlgorithm

时间:2017-12-05 04:52:19

标签: google-cloud-dataflow apache-beam

我正在使用Google Cloud Dataflow Java SDK 2.1.0。

我可以使用--templateLocation管道选项以及其他一些我希望在运行时传递的ValueProvider管道选项来创建模板。我正在云功能中使用Google dataflow API调用模板。

模板使用参数stagingLocation,tempLocation和我的自定义参数正常工作,但是当我在API调用中传递numWorkers,maxNumWorkers,workerMachineType,autoscalingAlgorithm的参数时,我得到了#34;发现了意外的参数"这些错误。我读了另一个stackoverflow post并创建了另一个模板,其中包含Log语句中引用的DataflowPipelineOptions,如下所示:

LOG.info("Number of workers => " + String.valueOf(options.getNumWorkers()));

新模板确实接受上面提到的默认管道选项。所以看起来模板没有携带管道代码中没有引用的管道选项 - 这对于自定义选项是可以的,但我想所有默认管道选项应该始终存在于任何模板中。

任何人都可以确认这是否是预期的行为,或者如果我做得不对,请告诉我?

1 个答案:

答案 0 :(得分:1)

为了纠正您,您无法以您尝试的方式指定环境参数。

' maxWorkers',' zone',' tempLocation',' machineType',' network',和& #39;子网'可以指定为 environment 的一部分。有关在请求中指定它们的方法,请参阅Cloud Dataflow文档中的Example 1