首页 > 解决方案 > GoogleCloudOptions 没有所有选项.options 有

问题描述

所以我今天的梁工作以这个警告告终:

/usr/local/lib/python2.7/dist-packages/apache_beam/runners/dataflow/dataflow_runner.py:800:BeamDeprecationWarning:选项自第一个稳定版本以来已弃用。不支持对 .options 的引用

据我了解,而不是这样做:

self.options = {'project': self.project_name,
               'job_name': self.job_name,
               }

我将不得不这样做:

self.options = PipelineOptions()
        google_cloud_options = self.options.view_as(GoogleCloudOptions)
        google_cloud_options.project = self.project_name
        google_cloud_options.job_name = self.job_name

但是有一个问题,很多选项不再可用,例如最大数量的工人,设置文件位置......

我试图再次浏览它的文档,但找不到那些缺失字段的替代品。

如果我只是在新的 GoogleCloudOptions 中添加了一些注册标签,它会抱怨:

AttributeError:“GoogleCloudOptions”对象没有属性“max_num_workers”

那么有谁知道这些字段的替代品是什么?

谢谢你。

标签: google-cloud-dataflowapache-beam

解决方案


似乎某些选项已移至WorkerOptionsApache Beam SDK 库的同一模块中。

WorkerOptions课堂上发表评论:

控制工作程序池配置的命令行选项。

它包括num_workers, max_num_workers,worker_machine_type和其他一些我相信以前出现过的东西GoogleCloudOptions

请参阅此链接以获取从 v2.12 开始的模块源代码:https ://beam.apache.org/releases/pydoc/2.12.0/_modules/apache_beam/options/pipeline_options.html#WorkerOptions


推荐阅读