我是GeoTrellis的新手,並對geopyspark自述文件中的示例腳本有疑問:https://github.com/locationtech-labs/geopyspark。GeoTrellis和GeoPySpark - TypeError:'JavaPackage'對象不可調用
下面是腳本的簡化版本(我們將example.py稱呼它):
import json
from functools import partial
from geopyspark.geopycontext import GeoPyContext
from geopyspark.geotrellis.constants import SPATIAL, ZOOM
from geopyspark.geotrellis.geotiff_rdd import get
from geopyspark.geotrellis.catalog import write
from shapely.geometry import Polygon, shape
from shapely.ops import transform
import pyproj
# Create the GeoPyContext
geopysc = GeoPyContext(appName="example", master="local[*]")
# Read in the NLCD tif that has been saved locally.
# This tif represents the state of Pennsylvania.
raster_rdd = get(geopysc=geopysc, rdd_type=SPATIAL,
uri='/tmp/NLCD2011_LC_Pennsylvania.tif',
options={'numPartitions': 100})
我能夠使用python3 example.py
的EMR集羣上運行它,但是當我嘗試運行spark-submit example.py
,我得到TypeError:'JavaPackage'對象不可調用。
這似乎指向這一行geopyspark/geotrellis/geotiff_rdd.py: geotiff_rdd = geopysc._jvm.geopyspark.geotrellis.io.geotiff.GeoTiffRDD
有什麼辦法,我可以運行使用這個代碼?根據我讀過的內容,似乎我無法使用python example.py
在集羣上運行我的代碼。是這樣嗎?如果是這樣,我該如何解決這個問題以在集羣上運行GeoPySpark代碼?
我應該學習scala並使用它嗎?
鏈接更新例如:https://github.com/locationtech-labs/geopyspark#a-quick-example – jbouffard
鏈接到泊塢窗集裝箱倉庫:https://開頭github.com/geodocker/geodocker-jupyter-geopyspark – jbouffard
非常感謝您對這個@ jbouffard的幫助 - 我現在將開始一個EMR集羣並測試! –