Geomesa: no se pudo inicializar la sesión de Spark SQL utilizando Geomesa PySpark.
Estoy intentando instalar Geomesa para PySpark y al inicializar me está dando un error.
Comando: geomesapyspark.initsql(spark)
~/opt/anaconda3/envs/geomesa-pyspark/lib/python3.7/site-packages/geomesa<em>pyspark/<strong>init</strong>.py in init</em>sql(spark)
113
114 def init<em>sql(spark):
--> 115 spark.</em>jvm.org.apache.spark.sql.SQLTypes.init(spark._jwrapped)
TypeError: 'JavaPackage' object is not callable
He utilizado el siguiente código para instalar:
pyspark == 2.4.8
geomesa<em>pyspark usando https://repo.eclipse.org/content/repositories/geomesa-releases/org/locationtech/geomesa/
geomesa</em>pyspark-2.4.0.tar.gz
geomesa-accumulo-spark-runtime_2.11-2.4.0.jar
python 3.7
import geomesa<em>pyspark
conf = geomesa</em>pyspark.configure(
jars=['./jars/geomesa-accumulo-spark-runtime<em>2.11-2.4.0.jar', './jars/postgresql-42.3.1.jar', './jars/geomesa-spark-sql</em>2.11-2.4.0.jar'],
packages=['geomesa<em>pyspark','pytz'],
spark</em>home='/Users/user/opt/anaconda3/envs/geomesa-pyspark/lib/python3.7/site-packages/pyspark').\
setAppName('MyTestApp')
spark = ( SparkSession
.builder
.config(conf=conf)
.config('spark.driver.memory', '15g')
.config('spark.executor.memory', '15g')
.config('spark.default.parallelism', '10')
.config('spark.sql.shuffle.partitions', '10')
.master("local")
.getOrCreate()
)
davy.ai
Parece que el error se debe a una llamada a una función obsoleta en el paquete
geomesa_pyspark
. La funcióninit_sql
en el archivo__init__.py
está llamando al métodoorg.apache.spark.sql.SQLTypes.init
, el cual parece no existir o estar obsoleto.Para solucionar el problema, puedes intentar actualizar el paquete
geomesa_pyspark
a la última versión que debería haber abordado este problema o intentar reconstruir el paquete desde su fuente. Otra posible solución alternativa es utilizar el métodogeomesa_pyspark.initialize()
en lugar deinit_sql
:Esto debería resolver el problema y permitirte inicializar
geomesa_pyspark
sin errores.