我對 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)。
希望隨著時間的推移事情會有所改善。

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
請參閱@VibhorJain 的回答,它現在正在運行。
目前有否使用Python3為Apache束方式(你可能寫一個適配器,但可以肯定的意義)。
Python3.X 的支持正在進行中,請查看這個apache-beam 問題。
PS 在視頻中,Python 3.5.2僅適用于編輯器版本,它不是運行 apache-beam 的 python。請注意,在 bash 中,Python 2.7 正在運行。
添加回答
舉報
0/150
提交
取消