GoogleCloudOptions没有<pipeline> .options拥有的所有选项

时间:2018-12-18 12:37:21

标签: google-cloud-dataflow apache-beam

所以我今天的光束工作以以下警告告终:

  

/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'

那么有人知道这些字段的替代品吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

似乎某些选项已在Apache Beam SDK库的同一模块中移至WorkerOptions

WorkerOptions类中的注释:

  

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

它包括num_workersmax_num_workersworker_machine_type,以及我认为以前在GoogleCloudOptions中曾出现过的一些东西。

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