如何从模板设置num_workers

时间:2019-10-01 12:14:36

标签: python google-cloud-dataflow

当试图为我的数据流管道创建模板时,我偶然发现要通过该模板配置用于管道执行的工作程序数量。我使用python SDK。

可以在每个模板中设置机器类型和最大工人数。但是,我的批处理管道不使用AutoScaling。相反,我希望用户能够设置number_workers。

我试图在我的PipelineOptions类中添加一个参数,但是随后它说参数名称存在冲突,这可能是因为超类已经添加了它。我还尝试添加一个值提供程序参数,但是它给了我TypeError:int()参数必须是字符串或数字,而不是'RuntimeValueProvider'

#First try: add_argument
class MyOptions(PipelineOptions):
    """
    Wrapper Class for argparser which handles PipelineOptions.
    """
    @classmethod
    def _add_argparse_args(cls, parser):   
      parser.add_argument("--num_workers")
# Second try: add_value_provider_argument
class MyOptions(PipelineOptions):
    """
    Wrapper Class for argparser which handles PipelineOptions.
    """
    @classmethod
    def _add_argparse_args(cls, parser):   
      parser.add_value_provider_argument("--num_workers")

是否可以让模板的用户选择?

0 个答案:

没有答案