GoogleCloudOptions не имеет всех параметров, которые есть у <pipeline>.options - PullRequest
0 голосов
/ 18 декабря 2018

Итак, моя лучевая работа сегодня закончилась этим предупреждением:

/ 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 голосов
/ 02 мая 2019

Кажется, что некоторые опции были перемещены в WorkerOptions в том же модуле библиотеки Apache 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...