Версия SDK для потока данных - PullRequest
0 голосов
/ 15 января 2019

Я сталкиваюсь с проблемой тестирования потока данных, выполняя подобный код из ячейки Datalab.

import apache_beam as beam

# Pipeline options:
options                         = beam.options.pipeline_options.PipelineOptions()
gcloud_options                  = options.view_as(beam.options.pipeline_options.GoogleCloudOptions)
gcloud_options.job_name         = 'test002'
gcloud_options.project          = 'proj'
gcloud_options.staging_location = 'gs://staging'
gcloud_options.temp_location    = 'gs://tmp'
# gcloud_options.region           = 'europe-west2'

# Worker options:
worker_options                  = options.view_as(beam.options.pipeline_options.WorkerOptions)
worker_options.disk_size_gb     = 30
worker_options.max_num_workers  = 10

# Standard options:
options.view_as(beam.options.pipeline_options.StandardOptions).runner = 'DataflowRunner'
# options.view_as(beam.options.pipeline_options.StandardOptions).runner = 'DirectRunner'

# Pipeline:

PL = beam.Pipeline(options=options)

query = 'SELECT * FROM [bigquery-public-data:samples.shakespeare] LIMIT 10'    
(
    PL | 'read'  >> beam.io.Read(beam.io.BigQuerySource(project='project', use_standard_sql=False, query=query))
       | 'write' >> beam.io.WriteToText('gs://test/test2.txt', num_shards=1)
)

PL.run()

print "Complete"

Были различные успешные попытки, и некоторые из них потерпели неудачу.Это хорошо и понятно, но я не понимаю, что я сделал, чтобы изменить версию SDK с 2.9.0 на 2.0.0, как показано ниже.Может кто-нибудь указать, что я сделал и как вернуться к SDK версии 2.9.0, пожалуйста?

Dataflow screen

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Вы можете проверить, какую версию SDK вы будете использовать, запустив:

!pip freeze | grep beam

В вашем случае это должно вернуть:

апач-лучевое == 2.0.0

И просто принудительно установите нужную версию (т.е. 2.9.0), добавив ячейку сверху:

!pip install apache-beam[gcp]==2.9.0

Если вы уже отправили задание, вам может потребоваться перезапустить ядро ​​(сбросить сеанс), чтобы изменения вступили в силу. Разница между заданиями с разными SDK составляет один день, поэтому я предполагаю, что вы или кто-то другой изменили зависимости (при условии, что они были запущены из одного и того же экземпляра Datalab и ноутбука). Может быть, не подозревая об этом (то есть перезапуск ядра).

0 голосов
/ 15 января 2019

Можете ли вы взглянуть на Облака для неудавшейся работы и опубликовать то, что видите?

...