如何在 Python 3.x 上获取用于数据流 GCP 的 Apache Beam
How to get apache beam for dataflow GCP on Python 3.x
我是 GCP 和数据流的新手。但是,我想开始在 GCP 上测试和部署一些利用数据流的流程。根据文档和数据流周围的一切都必须使用 Apache 项目 BEAM。因此,按照官方文档 here 支持的版本 python 是 2.7
老实说,由于 Python 版本 2.x 将因非官方支持而消失,并且每个人都在使用版本 3.x,因此这非常令人失望。不过,我想知道是否有人知道如何在 python 版本中准备好 beam 和 GCP 数据流 运行ning。
我看到了这个 video 以及这个牧师如何完成这个美妙的里程碑,显然它 运行s 在 Python 3.5.
更新:
伙计们,我想提出一个想法,因为我在数据流方面苦苦挣扎,所以我一直在想这个想法。我真的感到非常失望,因为开始使用这个工具的版本 Java 或 Python 是多么具有挑战性。从 python 开始,版本 3 有一些限制,这几乎是当前的标准。另一方面,java 在版本 11 上有问题 运行ning,我必须在版本 8 上稍微调整一下 运行 我的代码然后我开始与许多不兼容问题作斗争代码。简而言之,如果 GCP 真的想向前迈进并成为第一,那么还有很多地方需要改进。 :失望:
解决方法:
我将我的 java 版本降级到 jdk 8 ,安装 maven,现在我的 eclipse 版本可以用于 Apache Beam。
我终于解决了,但是,GCP 真的请考虑增强和跨越对 Java/Python 最新版本的支持。
非常感谢
查看@VibhorJain 的回答,现在可以使用了。
目前有 NO 方式使用 Python3 用于 apache-beam(你可以为它写一个适配器,但肯定没有意义)。
Python3.X的支持正在进行中,请看一下这个apache-beam issue。
P.S。在视频中,Python 3.5.2 ONLY for editor version,它不是 python 运行 apache-beam。请注意,在bash中,Python 2.7是运行。
您现在可以在 Python 3.5 上 运行 Apache Beam(我在 Direct 和 DataFlow 运行ner 上都试过了)。apache-beam==2.11.0
当 运行ning 时带有警告:
UserWarning: Running the Apache Beam SDK on Python 3 is not yet fully supported. You may encounter buggy behavior or missing features.
我已经注意到,beam.io.gcp.pubsub.ReadFromPubSub()
坏了。将消息推送到 PubSub 但管道从不读取消息(尝试使用 Direct Runner)。
希望随着时间的推移情况会有所改善。
Python 3 support. DataFlow now supports 和 beta
上发生了很多新事情!
我是 GCP 和数据流的新手。但是,我想开始在 GCP 上测试和部署一些利用数据流的流程。根据文档和数据流周围的一切都必须使用 Apache 项目 BEAM。因此,按照官方文档 here 支持的版本 python 是 2.7
老实说,由于 Python 版本 2.x 将因非官方支持而消失,并且每个人都在使用版本 3.x,因此这非常令人失望。不过,我想知道是否有人知道如何在 python 版本中准备好 beam 和 GCP 数据流 运行ning。
我看到了这个 video 以及这个牧师如何完成这个美妙的里程碑,显然它 运行s 在 Python 3.5.
更新:
伙计们,我想提出一个想法,因为我在数据流方面苦苦挣扎,所以我一直在想这个想法。我真的感到非常失望,因为开始使用这个工具的版本 Java 或 Python 是多么具有挑战性。从 python 开始,版本 3 有一些限制,这几乎是当前的标准。另一方面,java 在版本 11 上有问题 运行ning,我必须在版本 8 上稍微调整一下 运行 我的代码然后我开始与许多不兼容问题作斗争代码。简而言之,如果 GCP 真的想向前迈进并成为第一,那么还有很多地方需要改进。 :失望:
解决方法:
我将我的 java 版本降级到 jdk 8 ,安装 maven,现在我的 eclipse 版本可以用于 Apache Beam。
我终于解决了,但是,GCP 真的请考虑增强和跨越对 Java/Python 最新版本的支持。
非常感谢
查看@VibhorJain 的回答,现在可以使用了。
目前有 NO 方式使用 Python3 用于 apache-beam(你可以为它写一个适配器,但肯定没有意义)。
Python3.X的支持正在进行中,请看一下这个apache-beam issue。
P.S。在视频中,Python 3.5.2 ONLY for editor version,它不是 python 运行 apache-beam。请注意,在bash中,Python 2.7是运行。
您现在可以在 Python 3.5 上 运行 Apache Beam(我在 Direct 和 DataFlow 运行ner 上都试过了)。apache-beam==2.11.0
当 运行ning 时带有警告:
UserWarning: Running the Apache Beam SDK on Python 3 is not yet fully supported. You may encounter buggy behavior or missing features.
我已经注意到,beam.io.gcp.pubsub.ReadFromPubSub()
坏了。将消息推送到 PubSub 但管道从不读取消息(尝试使用 Direct Runner)。
希望随着时间的推移情况会有所改善。
Python 3 support. DataFlow now supports 和 beta
上发生了很多新事情!