Как запустить задание Python Google Cloud Dataflow с пользовательским Docker изображением? - PullRequest
0 голосов
/ 23 февраля 2020

Я хотел бы запустить Python задание облачного потока данных Google с пользовательским Docker изображением.

На основе документации это должно быть возможно: https://beam.apache.org/documentation/runtime/environments/#testing -customized-images

Чтобы попробовать эту функцию, я настроил пример конвейера basei c wordcount с параметры командной строки из документов в этой публикации c repo https://github.com/swartchris8/beam_wordcount_with_docker

Я могу запустить задание wordcount с PortableRunner локально с помощью apachebeam/python3.6_sdk изображение, но с использованием потока данных Я не могу это сделать .

Я слежу за документами настолько внимательно, насколько могу для PortableRunner мои аргументы:

python -m wordcount --input wordcount.py \
--output counts \
--runner=PortableRunner \
--job_endpoint=embed \
--environment_config=apachebeam/python3.6_sdk

Для Поток данных:

python -m wordcount --input wordcount.py \
--output gs://healx-pubmed-ingestion-tmp/test/wordcount/count/count \\
--runner=DataflowRunner \
--project=healx-pubmed-ingestion \
--job_name=dataflow-wordcount-docker \
--temp_location=gs://healx-pubmed-ingestion-tmp/test/wordcount/tmp \
--experiment=beam_fn_api \
--sdk_location=/Users/chris/beam/sdks/python/container/py36/build/target/apache-beam.tar.gz \
--worker_harness_container_image=apachebeam/python3.6_sdk \
--region europe-west1 \
--zone europe-west1-c

Для получения полной информации см. Связанный репозиторий.

Что я здесь не так делаю или эта функция не поддерживается для Python заданий в потоке данных?

1 Ответ

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

К сожалению, в настоящее время Dataflow использует свои собственные (несовместимые) рабочие контейнеры, но исправление для этого активно разрабатывается.

...