Search code examples
javaapache-sparkgeospark

st_geomfromtext assertion failed using spark java


When I rum the following code

Dataset<Row> df = sparkSession.sql("select -7.07378166 as longitude, 33.826661 as latitude");
    df.withColumn("ST_Geomfromtext ",
            expr("ST_GeomFromText(CONCAT('POINT(',longitude,' ',latitude,')'),4326)"))
            .show(true);

I get the following error :

20/07/22 14:39:56 ERROR Executor: Exception in task 0.0 in stage 1.0 (TID 1)
 java.lang.AssertionError: assertion failed
at scala.Predef$.assert(Predef.scala:156)
at org.apache.spark.sql.geosparksql.expressions.ST_GeomFromText.eval(Constructors.scala:148)
at org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificUnsafeProjection.apply(Unknown 
Source)
at org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificUnsafeProjection.apply(Unknown 
Source)

I need your help

Thank you


Solution

  • From the source code the function ST_GeomFromText expects only 1 expression, but you have 2 - concat(..) and 4326

    Check examples here