为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Python 3.x 上为数据流 GCP 获取 apache 光束

如何在 Python 3.x 上为数据流 GCP 获取 apache 光束

呼啦一阵风 2021-10-19 10:34:46
我对 GCP 和数据流很陌生。但是,我想开始在 GCP 上测试和部署一些利用数据流的流。根据文档和数据流的所有内容,必须使用 Apache 项目 BEAM。因此,按照此处的官方文档,python 的支持版本是 2.7老实说,这是相当令人失望的,因为 Python 2.x 版将由于没有官方支持而消失,并且每个人都在使用 3.x 版。不过,我想知道是否有人知道如何准备好在 python 版本中运行的 Beam 和 GCP 数据流。我看到了这个视频,以及这位牧师如何完成这个美妙的里程碑,显然它在 Python 3.5 上运行。更新:伙计们,我只想提出一个想法,自从我在数据流上苦苦挣扎以来,这个想法一直在我脑海中闪过。我真的感到非常失望,因为无论是 Java 版还是 Python 版,开始使用这个工具是多么具有挑战性。从 python 开始,版本 3 有一些限制,这几乎是当前的标准。另一方面,java 在版本 11 上运行时有问题,我必须稍微调整一下才能在版本 8 上运行我的代码,然后我开始为代码上的许多不兼容性而苦苦挣扎。简而言之,如果 GCP 真的想要前进并成为#1,那么还有很多需要改进的地方。:失望的:解决方法:我将我的 java 版本降级到 jdk 8 ,安装 maven,现在我的 eclipse 版本适用于 Apache Beam。我终于解决了,但是,GCP 真的请考虑增强和跨越对最新版本的 Java/Python 的支持。
查看完整描述

3 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

您现在可以在 Python 3.5 上运行 Apache Beam(我在 Direct 和 DataFlow runner 上都尝试过)。apache-beam==2.11.0

运行时出现警告:

用户警告:尚不完全支持在 Python 3 上运行 Apache Beam SDK。您可能会遇到错误行为或缺少功能。

我已经注意到了,beam.io.gcp.pubsub.ReadFromPubSub()坏了。将消息推送到 PubSub,但管道从不读取消息(尝试使用 Direct Runner)。

希望随着时间的推移事情会有所改善。


查看完整回答
反对 回复 2021-10-19
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

请参阅@VibhorJain 的回答,它现在正在运行。


目前有使用Python3为Apache束方式(你可能写一个适配器,但可以肯定的意义)。

Python3.X 的支持正在进行中,请查看这个apache-beam 问题

PS 在视频中,Python 3.5.2适用于编辑器版本,它不是运行 apache-beam 的 python。请注意,在 bash 中,Python 2.7 正在运行。


查看完整回答
反对 回复 2021-10-19
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

Python 3支持方面发生了很多新变化。DataFlow现在支持,因为beta

//img1.sycdn.imooc.com//616e2ef60001998714190485.jpg


查看完整回答
反对 回复 2021-10-19
  • 3 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信