Как получить Apache Beam для GCP потока данных на Python 3.x - PullRequest
0 голосов
/ 24 января 2019

Я очень новичок с GCP и потоком данных.Однако я хотел бы начать тестировать и развертывать несколько потоков, использующих поток данных на GCP.Согласно документации и всему, что связано с потоком данных, обязательно используйте проект Apache BEAM.Поэтому и следуя официальной документации здесь поддерживаемая версия python составляет 2.7

Честно говоря, это довольно разочаровывает из-за того, что версия Python 2.x исчезнет из-за не официальной поддержки, и всеработа с версией 3.x.Тем не менее, я хочу знать, знает ли кто-нибудь, как получить готовый луч и поток данных GCP, работающий в версии Python.

Я видел это видео и кое-что, как этот пастор завершил эту замечательную веху, и, очевидно, он работает на Python 3.5.

Обновление :

Ребята, я хочу просто поднять мысль, которая приходила мне в голову, так как я борюсь с потоком данных.Я очень разочарован тем, насколько сложно начать работу с этим инструментом, будь то версия Java или Python.От python есть ограничения относительно версии 3, которая в значительной степени является текущим стандартом.С другой стороны, у java есть проблемы, работающие на версии 11, и мне нужно немного подправить код, чтобы запустить версию 8, а затем я начинаю бороться со многими несовместимостями в коде.Вкратце, если на самом деле GCP хочет двигаться вперед и стать # 1, значит, многое можно улучшить.: disappointed:

Временное решение :

Я снизил версию Java до jdk 8, установил maven, и теперь моя версия Eclipse работает для Apache Beam.

Я наконец решил, но, GCP действительно, пожалуйста, рассмотрите возможность расширения и расширения поддержки для самых последних версий Java / Python.

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Теперь вы можете запустить Apache Beam на Python 3.5 (я пробовал как на Direct, так и на DataFlow runner). apache-beam==2.11.0

при запуске приходит с предупреждением:

UserWarning: Запуск Apache Beam SDK на Python 3 еще не полностью поддерживается. Вы можете столкнуться с ошибочным поведением или отсутствием функций.

Я уже заметил, beam.io.gcp.pubsub.ReadFromPubSub() сломан. Отправка сообщений в PubSub, но конвейер никогда не читает сообщения (пытается использовать Direct Runner).

Надеюсь, со временем все улучшится.

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

В настоящее время существует NO способ использования Python3 для apache-beam (вы можете написать адаптер для него, но наверняка бессмысленно).

Поддержка Python3.X включенасобираюсь, пожалуйста, взгляните на эту проблему apache-beam .

PS В видео Python 3.5.2 является ТОЛЬКО для версии редактора, это не такПитон, управляющий Apache-Beam.Обратите внимание, что в bash работает Python 2.7.

...