为了账号安全,请及时绑定邮箱和手机立即绑定

将'add_value_provider_argument'与apache beam io函数一起

将'add_value_provider_argument'与apache beam io函数一起

富国沪深 2022-08-02 16:12:12
我正在尝试创建一个数据流模板,该模板将输入参数作为.遵循文档中的示例RuntimeValueimport reimport apache_beam as beamfrom apache_beam.io import ReadFromTextfrom apache_beam.io import WriteToTextfrom apache_beam.options.pipeline_options import PipelineOptions# [START example_wordcount_templated]class WordcountTemplatedOptions(PipelineOptions):  @classmethod  def _add_argparse_args(cls, parser):    # Use add_value_provider_argument for arguments to be templatable    # Use add_argument as usual for non-templatable arguments    parser.add_value_provider_argument(        '--input', help='Path of the file to read from')    parser.add_argument(        '--output', required=True, help='Output file to write results to.')pipeline_options = PipelineOptions(['--output', 'some/output_path'])with beam.Pipeline(options=pipeline_options) as p:  wordcount_options = pipeline_options.view_as(WordcountTemplatedOptions)  lines = p | 'Read' >> ReadFromText(wordcount_options.input)# [END example_wordcount_templated](直接取自官方代码段)在尝试使用以下命令创建模板时(填写详细信息)时会出现以下错误: python -m examples.mymodule \    --runner DataflowRunner \    --project YOUR_PROJECT_ID \    --staging_location gs://YOUR_BUCKET_NAME/staging \    --temp_location gs://YOUR_BUCKET_NAME/temp \    --template_location gs://YOUR_BUCKET_NAME/templates/YOUR_TEMPLATE_NAME  File "lib/python3.7/site-packages/apache_beam/options/value_provider.py", line 139, in _f                                                                  raise error.RuntimeValueProviderError('%s not accessible' % obj)apache_beam.error.RuntimeValueProviderError: RuntimeValueProvider(option: input, type: str, default_value: None) not accessible                                                                                                        文档还指出:某些 I/O 连接器包含接受 ValueProvider 对象的方法。若要确定对 I/O 连接器及其方法的支持,请参阅连接器的 API 参考文档。以下 I/O 连接器接受运行时参数:基于文件的 IO:textio、avroio、tfrecordio我不确定为什么示例代码会给出错误。有人可以帮我吗?对于它的价值,我正在使用:apache-beam = {extras = ["gcp"], version = "^2.19.0"}
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

这已经固定在光束中,截至2020年4月15日发布。0.20.0

使用 beam.io 操作(例如运行时值提供程序)只是工作正常。如果您遇到与问题相同的错误,请尝试升级您的梁依赖版本。beam.io.ReadFromText(wordcount_options.input)


查看完整回答
反对 回复 2022-08-02
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信