Ожидается, что ETA будет использовать параметры конвейерного ввода-вывода и параметры времени выполнения в apache пучке данных GCP с использованием python? - PullRequest
1 голос
/ 10 февраля 2020

Просто хотел узнать, есть ли у нас больше конвейерного ввода-вывода и параметров времени выполнения, доступных в новой версии (3.X) python. Если я прав, то в настоящее время apache beam предоставляет только File-based IOs: textio, avroio, tfrecordio при использовании python. Но с Java у нас есть больше доступных опций, таких как IOs, BigQueryIO, BigtableIO, PubSubIO и SpannerIO на основе файлов.

В моем требовании я хочу использовать BigQueryIO в конвейере потока данных GCP, используя python 3.X, но в настоящее время он недоступен. Есть ли у кого-нибудь обновление ETA, когда оно будет доступно apache beam.

Ответы [ 2 ]

2 голосов
/ 10 февраля 2020

Соединитель BigTable для Python 3 находится в стадии разработки. В настоящее время ETA не существует, но вы можете выполнить соответствующие Pull-запросы из официального Apache Beam-репозитория для дальнейших обновлений.

0 голосов
/ 11 февраля 2020

BigQueryIO уже довольно давно доступен в Apache Beam Python SDK.

Существует также Pub / Sub IO, доступный как а также BigTable (запись) . SpannerIO находится в процессе разработки, пока мы говорим.

На этой странице более подробно https://beam.apache.org/documentation/io/built-in/

ОБНОВЛЕНИЕ:

В соответствии с тем, что OP дает больше подробностей, оказывается, что действительно использование поставщиков значений в строке запроса BigQuery не поддерживается.

Это исправлено в следующем PR: https://github.com/apache/beam/pull/11040 и, скорее всего, будет частью выпуска 2.21.0.

ОБНОВЛЕНИЕ 2: Эта новая функция была добавлена ​​в выпуске 2.20.0 Apache Beam https://beam.apache.org/blog/2020/04/15/beam-2.20.0.html

Надеюсь, это решит вашу проблему!

...