你好,
我試圖運行一些地理空間轉換在三角洲生活表,使用Apache塞多納。
我試圖定義一個管道最小的例子展示了我遇到的問題。
第一單元我的筆記本,我安裝apache-sedona Python包:
% pip安裝apache-sedona
那麼我隻使用SedonaRegistrator。registerAll(使地理空間處理在SQL)並返回一個空dataframe(代碼是沒有達到):
從pyspark進口dlt。sql從塞多納進口SparkSession。注冊進口SedonaRegistrator @dlt。表(評論= "測試臨時表”,臨時= True) def my_temp_table (): SedonaRegistrator.registerAll(火花)返回火花。createDataFrame(數據=[],模式= StructType ([]))
我創建了DLT管道離開一切為默認,除了火花配置:
這是“spark.jars的毛邊的價值。包”:“org.apache.sedona:塞多納- python -適配器- 3.0 - _2.12:1.2.0孵化org.datasyslab: geotools-wrapper: 1.1.0-25.2”。這是需要根據這個文檔。
當我運行的管道,我得到以下錯誤:
py4j。Python Py4JException:異常長大的代理。返回消息:回溯(最近的電話最後):文件“/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j / java_gateway。py”, 2442行,在_call_proxy return_value = getattr(自我。池(obj_id)方法)(* params)文件“/磚/火花/ python / dlt /幫手。py”, 22行,叫res = self.func()文件”<命令——1 >”,8號線,在my_temp_table文件“/ local_disk0 / .ephemeral_nfs / env / pythonenv - 0 - ecd1771 - 412 - 4887 - 9 -一個fc3 - 44233文件ebe4058 / lib / python3.8 /網站/塞多納/注冊/ geo_registrator。py”, 43歲,在registerAll cls.register(火花)文件“/ local_disk0 / .ephemeral_nfs / env / pythonenv - 0 - ecd1771 - 412 - 4887 - 9 -一個fc3 - 44233文件ebe4058 / lib / python3.8 /網站/塞多納/注冊/ geo_registrator。py”, 48歲,在注冊返回spark._jvm.SedonaSQLRegistrator.registerAll (spark._jsparkSession) TypeError: JavaPackage對象不是可調用的
我可以重現這個錯誤在我的電腦運行火花,避免“spark.jars中指定安裝包。包”。
我猜這DLT管道安裝不正確配置Apache塞多納。我找不到任何文檔描述如何安裝塞多納DLT管道或其他包。
有誰知道/如果可以怎麼做?
祝你有美好的一天。
編輯:
到目前為止我也試過,沒有成功: