我有以下数据帧:
+--------------+-------------------+---------------------+
|longitude_f | latitude_f | geom |
+--------------+-------------------+---------------------+
|7.0737816 |33.82666 | 00 00 00 00 01 0..|
|-7.6198783 |33.5942549 | 00 00 00 00 01 0..|
+--------------+-------------------+---------------------+
longitude_f : double ----
latitude_f : double ----
geom : geometry ----当我执行以下代码时:
Dataset <Row> result_f = sparkSession.sql("select * from data_f where ST_Within(ST_GeomFromText(CONCAT('POINT(',longitude_f,' ',latitude_f,')',4326)),geom)");
result_f.show();我得到了以下异常:
20/08/01 19:50:36 ERROR Executor: Exception in task 87.0 in stage 40.0 (TID 930)
java.lang.AssertionError: assertion failed
at scala.Predef$.assert(Predef.scala:156)
at org.apache.spark.sql.geosparksql.expressions.ST_PolygonFromEnvelope.eval(Constructors.scala:250)
at org.apache.spark.sql.geosparksql.expressions.ST_Within.eval(Predicates.scala:105)
at org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificPredicate.And_0$(Unknown Source)
at org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificPredicate.eval(Unknown Source)
at org.apache.spark.sql.execution.joins.CartesianProductExec$$anonfun$doExecute$1$$anonfun$2.apply(CartesianProductExec.scala:89)
at org.apache.spark.sql.execution.joins.CartesianProductExec$$anonfun$doExecute$1$$anonfun$2.apply(CartesianProductExec.scala:88)我需要你的帮助。
谢谢
发布于 2020-08-02 11:46:33
ST_PolygonFromEnvelope使用4个参数,但它们的断言失败
assert(inputExpressions.length == 4)向此函数提供4个输入参数,然后继续。顺便说一句,我建议从git下载sour并检查这些。还要参考文档,我认为您并没有这样做
https://stackoverflow.com/questions/63209468
复制相似问题