当试图为我的数据流管道创建模板时,我偶然发现要通过该模板配置用于管道执行的工作程序数量。我使用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")
是否可以让模板的用户选择?