Запустить шаблон в облачной службе потока данных - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь запустить локальный шаблон, разработанный в Google DataFlow.

Проблема в том, что я запускаю его в Google Cloud Shell с:

python -m dataflow.py --project poc-cloud-209212 --temp_location gs://<...>

Я получил эту ошибку

/usr/bin/python: No module named apache_beam 

Итак, я попытался на более простом примере: wordcount

Как сказал Google, я выполняю:

python -m wordcount --input gs://dataflow-samples/shakespeare/kinglear.txt --output gs://<...> --runner DataflowRunner --project <project> --temp_location gs://<...>

И я получилэта ошибка:

/usr/bin/python: No module named past.builtins

Если я выполню без .py:

 python -m wordcount --input gs://dataflow-samples/shakespeare/kinglear.txt --output gs://<...> --runner DataflowRunner --project <project> --temp_location gs://<...>

Опять та же ошибка, но с "дополнительной" информацией

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/<...>/wordcount.py", line 26, in <module>
    from past.builtins import unicode
ImportError: No module named past.builtins

Чтоэто происходит?Как я могу запустить эти шаблоны в облачном потоке данных Google?

Нужно ли настраивать среду в облаке Google так же, как в локальной или по умолчанию?

1 Ответ

0 голосов
/ 08 ноября 2018

Наконец я это сделал.

Вот как:

Установить virtualenv с python 2.7 в Google Cloud (3.5 была установлена ​​по умолчанию и Dataflow не может использовать python3)

 virtualenv env --python=python2

После активации этого virtualenv вы можете запустить в нем

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