问题标签 [geospark]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - GeoSpark 转换 SQL 函数失败
我正在使用 GeoSpark 1.3.1,我试图找到包含在一个圆中的所有地理点,给定一个以米为单位的中心和半径。为此,我不想将中心从度数转换为米,创建圆(使用ST_Buffer
),然后将返回的多边形转换回度数,然后ST_Contains
在与所有地理点的连接中应用函数。请参阅下面的 SQL:
但是,当我按照指南GeoSpark将依赖项添加到我的 pom 文件并创建一个提交(使用spark2-submit
)的 uber jar 时,我收到以下错误(仅在使用ST_Transform
函数时)
我试图在我的构建中隐藏和重新定位“org.hsqldb”,但这并没有改变任何东西,并且在 uber jar 中不包括 GeoSpark jar,而是将它们作为spark2-submit
我得到相同错误的一部分加载。我真的找不到解决这个问题的方法,只有当我使用该ST_Transform
方法时才会发生?
看起来我的 Spark 平台的版本org.hsqldb
比 GeoSpark 提供的版本更旧!
我的阴影看起来像这样:
java - st_geomfromtext 断言使用 spark java 失败
当我朗姆酒以下代码
我收到以下错误:
我需要你的帮助
谢谢
java - ST_WITHIN 使用 Spark/Java
我有以下数据框:
我正在使用以下代码:
但我收到以下错误:
编辑
任何想法 ?我需要你的帮助
谢谢
java - org.apache.spark.sql.types.Decimal 不能使用 Spark / Java 转换为 org.apache.spark.unsafe.types.UTF8String ___
我有以下数据框:
我正在使用以下代码:
执行时出现以下异常:
你有什么想法吗?
我需要你的帮助 。
谢谢
java - 使用 GeoSpark 断言失败
我有以下数据框:
当我执行以下代码时:
我得到以下异常:
我需要你的帮助 。
谢谢
java - GeoSpark 函数使用 java 语言
我有一个二进制列类型的数据框:
这是 的二进制表示:
我正在尝试执行以下代码:
我收到以下错误:
当我尝试以下代码时:
我得到以下输出:
代替 :
java - 使用java语言读取spark中的二进制列
我有一个 DataFrame 女巫包含一个Binary
列类型。
数据框:
我正在尝试阅读此专栏以提取几何格式。
根据我的研究,我发现 geospark 库中有一个函数是 ST_GeomFromWKB,它需要一个长二进制文件作为参数。
所以我正在执行以下代码:
我得到以下输出女巫不正确:
如何阅读本专栏以获得正确的几何值?
编辑
当我点击 [GEOMETRY - 113 o]
一个文本文件下载。
文本文件包含以下数据:
编辑2
我在 MySQL 数据库上有这张表
当我在 Spark 中加载此表时,我得到:
然后获取原始数据“多边形......”我执行以下代码:
但我收到以下错误:
java - 几何 ST_GeomFromWKB(binary wkb) 在 Spark 上使用 Java 语言
我有一个Binary
列类型的数据框:
我想将众所周知的二进制 wkb 转换为几何。
从我的研究中,我发现该ST_GeomFromWKB
函数返回一个ST_Geometry
值,该值是从一个LONG BINARY
包含.Well Known Binary (WKB)
ST_Geometry
我正在尝试将其应用于我的数据框,但该BinaryGeometry
列的Binary
类型类似于Array[Byte]
.
我的问题是:如何LONG BINARY
从 spark 的二进制列中获取值?
我试过hex
函数。
我得到以下输出女巫不正确:
编辑
python - 使用 upload_jars 函数获取 GeoSpark 错误
我正在尝试在 AWS EMR 集群中运行 GeoSpark。代码是:
我在函数中收到以下错误upload_jars()
:
我该如何解决这个错误?
apache-spark - GeoSpark 显示 SQL 结果失败
我正在使用 GeoSpark 1.3.1,我正在尝试查找 POLYGON 中包含的所有地理点。我使用 sql 命令:
查询工作正常,但是当我尝试显示结果时失败。似乎是图书馆的输出问题。我在 zeppelin notebook 中这样做。有人可以告诉我我做错了什么吗?我收到以下错误:
org.apache.spark.SparkException:作业因阶段失败而中止:阶段 10.0 中的任务 0 失败 4 次,最近一次失败:阶段 10.0 中丢失任务 0.3(TID 15、10.42.22.236、执行程序 3):java.lang。 ClassCastException: org.apache.spark.unsafe.types.UTF8String 不能在 org.apache.spark.sql.geosparksql.strategy.join.TraitJoinQueryExec$$anonfun$ 处转换为 org.apache.spark.sql.catalyst.util.ArrayData toSpatialRdd$1.apply(TraitJoinQueryExec.scala:164) at org.apache.spark.sql.geosparksql.strategy.join.TraitJoinQueryExec$$anonfun$toSpatialRdd$1.apply(TraitJoinQueryExec.scala:163) at scala.collection.Iterator$$ anon$11.next(Iterator.scala:410) at scala.collection.Iterator$class.foreach(Iterator.scala:891) at scala.collection.AbstractIterator.foreach(Iterator.scala:1334) at scala.collection.TraversableOnce$ scala 中的 class.foldLeft(TraversableOnce.scala:157)。collection.AbstractIterator.foldLeft(Iterator.scala:1334) at scala.collection.TraversableOnce$class.aggregate(TraversableOnce.scala:214) at scala.collection.AbstractIterator.aggregate(Iterator.scala:1334) at org.apache.spark .rdd.RDD$$anonfun$aggregate$1$$anonfun$22.apply(RDD.scala:1122) at org.apache.spark.rdd.RDD$$anonfun$aggregate$1$$anonfun$22.apply(RDD.scala: 1122) 在 org.apache.spark.SparkContext$$anonfun$36.apply(SparkContext.scala:2157) 在 org.apache.spark.SparkContext$$anonfun$36.apply(SparkContext.scala:2157) 在 org.apache.spark .scheduler.ResultTask.runTask(ResultTask.scala:90) at org.apache.spark.scheduler.Task.run(Task.scala:121) at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply (Executor.scala:402) 在 org.apache.spark.executor.Executor$TaskRunner 的 org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)。在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 运行(Executor.scala:408) .run(Thread.java:748)