我正在安装GeoSpark Python,安装完所有先决条件后,运行基本代码示例进行测试。
from pyspark.sql import SparkSession
from geo_pyspark.register import GeoSparkRegistrator
spark = SparkSession.builder.\
getOrCreate()
GeoSparkRegistrator.registerAll(spark)
df = spark.sql("""SELECT st_GeomFromWKT('POINT(6.0 52.0)') as geom""")
df.show()
我尝试使用 python3 basic.py
和 spark-submit basic.py
运行它,两者都给我这个错误:
Traceback (most recent call last):
File "/home/jessica/Downloads/geo_pyspark/basic.py", line 8, in <module>
GeoSparkRegistrator.registerAll(spark)
File "/home/jessica/Downloads/geo_pyspark/geo_pyspark/register/geo_registrator.py", line 22, in registerAll
cls.register(spark)
File "/home/jessica/Downloads/geo_pyspark/geo_pyspark/register/geo_registrator.py", line 27, in register
spark._jvm. \
TypeError: 'JavaPackage' object is not callable
我正在使用Java 8、Python 3和Apache Spark 2.4,在我的电脑上正确设置了JAVA_HOME
,并且运行的是Linux Mint 19。同时我也已经正确设置了SPARK_HOME
。
$ printenv SPARK_HOME
/home/jessica/spark/
我该怎么修复这个问题?
geospark
包,则可以在指定spark.jars
时使用位置/usr/local/lib/python3.6/site-packages/geospark/jars/2_4/<JAR_FILE>
,因为这是EMR上用于Master和Core节点的位置。 - mj3c