问题标签 [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.

0 投票
1 回答
530 浏览

user-defined-functions - GeoSpark 使用 Maven UDF 在 Azure 上运行 Databricks?

我正在使用 Spark 集群尝试 Databricks@Azure:Spark 3.0.0、Scala 2.12 在集群上(!)我安装了:geospark:1.3.1 geospark-sql_2.3:1.3.1 受https://databricks 启发。 com/notebooks/geospark-notebook.html 我喜欢 SQL 并希望运行 GeoSpark 查询。

我运行这个(从笔记本):

当我运行此检查时:

输出是:

但是这个

失败:

我做错了什么?

PS我也试过:

有和没有结束美元符号。创建函数语句返回 OK;但是运行包括 ST_point 的选择然后返回:

0 投票
1 回答
280 浏览

scala - Spark 任务无法将行写入 ORC 表

我为几何字段的空间连接运行以下代码:

生成的数据框稍后会保存到 ORC 表中:

我在执行过程中收到此错误: org.apache.spark.SparkException: Task failed while writing rows

这个问题的根本原因是什么?

0 投票
2 回答
508 浏览

python - 如何将点连接到最近的多边形边界

我正在尝试加入两个空间数据集。第一个包含点和第二个多边形。

但是,有些点在多边形之外。

有没有一种简单的方法可以将这些点连接/捕捉到最近的多边形边界,而不是最近的多边形质心?

目前我正在加入最近的多边形质心,但这不会产生我正在寻找的结果。

0 投票
1 回答
201 浏览

dataframe - 如何在 pyspark 数据框中将几何列从二进制格式转换为字符串格式?

这是我的尝试:

%sql SELECT df1.*,df1.geometry.STAsText() as geom_text FROM df_geo df1.

这显然失败了,因为它不是一个表,而是一个数据框。如何使用 pyspark 或 geospark 做到这一点?

0 投票
1 回答
579 浏览

java - 无法在 Spark 会话中配置 GeoSpark:

我一直在尝试使用 Spark Session 配置 geospark,以便可以在 PySpark 上使用空间应用程序。我点击了这个链接并尝试运行下面提到的代码。

当我运行这个文件时,它给了我以下错误。

回溯(最近一次调用最后):文件“c:\sourav\spark\code\geospark_demo.py”,第 29 行,在 GeoSparkRegistrator.registerAll(spark) 文件“C:\Users\user3.conda\envs\python37\lib \site-packages\geospark\register\geo_registrator.py”,第 26 行,在 registerAll cls.register(spark) 文件“C:\Users\user3.conda\envs\python37\lib\site-packages\geospark\register\ geo_registrator.py",第 31 行,在寄存器中返回 spark._jvm.GeoSparkSQLRegistrator.registerAll(spark._jsparkSession) TypeError: 'JavaPackage' object is not callable

我尝试在 spark jars 文件夹中手动添加以下 jar 文件

•geospark-1.3.1.jar •geospark-sql_2.1-1.3.1.jar •geo_wrapper.jar

现在早先的错误消失了,新的异常正在抛出,如下所示:

回溯(最近一次调用最后):文件“c:\sourav\spark\code\geospark_demo.py”,第 29 行,在 GeoSparkRegistrator.registerAll(spark) 文件“C:\Users\user3.conda\envs\python37\lib \site-packages\geospark\register\geo_registrator.py”,第 26 行,在 registerAll cls.register(spark) 文件“C:\Users\user3.conda\envs\python37\lib\site-packages\geospark\register\ geo_registrator.py”,第 31 行,在寄存器中返回 spark._jvm.GeoSparkSQLRegistrator.registerAll(spark._jsparkSession)
文件“C:\Users\user3.conda\envs\python37\lib\site-packages\py4j\java_gateway.py” ,第 1257 行,通话中 answer, self.gateway_client, self.target_id, self.name) 文件“C:\sourav\spark\spark-2.4.7-bin-hadoop2.7\python\pyspark\sql\utils.py”,第 63 行,在deco return f(*a, **kw) 文件“C:\Users\user3.conda\envs\python37\lib\site-packages\py4j\protocol.py”,第 328 行,get_return_value 格式(target_id,“。 ", name), value) py4j.protocol.Py4JJavaError: 调用 z:org.datasyslab.geosparksql.utils.GeoSparkSQLRegistrator.registerAll 时出错。: java.lang.NoSuchMethodError: org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry.registerFunction(Ljava/lang/String;Lscala/Function1;)V at org.datasyslab.geosparksql.UDF.UdfRegistrator$$anonfun$registerAll $1.apply(UdfRegistrator.scala:29) at org.datasyslab.geosparksql.UDF.UdfRegistrator$$anonfun$registerAll$1.apply(UdfRegistrator.scala:29) at scala.collection。

我发现这个链接有类似的问题,我什至尝试使用以下代码在 spark 配置文件中添加 jar,但似乎没有任何效果。

我正在使用 Geospark 1.3.1、Java 8、Python 3.7、Apache Spark 2.4.7,我的 JAVA_HOME、SPARK_HOME 设置正确,我在 Windows 10 上运行。

我该如何解决这个问题以进一步进行?任何帮助/建议将不胜感激。

0 投票
1 回答
790 浏览

java - 使用 Java 的 Apache Sedona (Geospark) SQL:SQL 语句期间出现 ClassNotFoundException

我使用 Apache Sedona (1.3.2-SNAPSHOT) 的最新快照在 docker 集群上使用我的 Apache Spark 3.0.1 进行一些地理空间工作。

在尝试教程部分 ( http://sedona.apache.org/tutorial/sql/ ) 中的第一个示例时,我遇到了 NoClassDefException 作为 ClassNotFoundException 的原因:

错误:

在没有 ST_GeomFromWKT 函数但使用仅 SQL 语句的情况下进行选择,一切正常。WKT 文件格式正确且显示正确。gradle.build 确实包含 spark 和 geospark 的所有必要依赖项。

build.gradle 中声明的依赖项:

0 投票
1 回答
463 浏览

geospark - sedona 错误:java.lang.NoClassDefFoundError: org/opengis/referencing/FactoryException

/usr/share/spark-3.0/bin/pyspark --queue=szsc
--master=yarn
--packages org.apache.sedona:sedona-core-3.0_2.12:1.0.0-incubating,org.apache。 sedona:sedona-sql-3.0_2.12:1.0.0-incubating,org.apache.sedona:sedona-viz-3.0_2.12:1.0.0-incubating,org.apache.sedona:sedona-python-adapter- 3.0_2.12:1.0.0-incubating
--driver-memory 4g
--num-executors 100 --executor
-memory 8g
--conf spark.driver.memoryOverhead=5G
--conf spark.executor.memoryOverhead=5G

火花-sql:

df5=spark.sql(sql5) df5.count()

错误日志:

0 投票
0 回答
151 浏览

sql - 为什么 Apache Sedona 的 ST_Buffer 和 ST_Distance 之间存在意想不到的差异?

我希望将两个表与 Apache Sedona(以前的 GeoSpark)连接起来,并在两种方法之间获得意想不到的差异。特别是 ST_Distance 似乎产生了一些奇怪的结果,我无法弄清楚这是否是 Sedona 的问题,或者(更有可能)是关于我使用该功能的方式的问题。

我正在尝试加入对象彼此相距不到 5m 的位置。

方法一(在相交旁边使用缓冲区)

这会产生预期的结果(即,这些对象之间的最大距离约为 5)

方法二(使用距离评估)

这将返回大约 400 的大量数字,这似乎是错误的。

对我来说,这两个查询的结果似乎应该或多或少相同,尤其是后者看起来像 Apache 文档推荐的那样

这两个查询应该以不同的方式评估是否有原因?我错过了这些功能的本质,或者这真的是 Sedona 的问题吗?

0 投票
1 回答
208 浏览

scala - 如何从 H3 边界创建 PolygonRDD?

我正在将 Apache Spark 与 Apache Sedona(以前称为 GeoSpark)一起使用,并且我正在尝试执行以下操作:

  1. 在每一行中取一个DataFrame包含纬度和经度(它来自任意来源,它既不是 aPointRDD也不是来自特定文件格式)并将其转换为DataFrame带有每个点的 H3 索引的 a。
  2. 拿它DataFrame并创建一个PolygonRDD包含每个不同 H3 索引的 H3 单元格边界。

这是我到目前为止所拥有的:

但是,在运行sbt assembly并将输出 jar 提交到后spark-submit,我收到此错误:

实现我想要做的事情的正确方法是什么?

0 投票
1 回答
77 浏览

android - Firebase 消息传递:带有位置触发通知的订阅主题

我正在使用firebase云消息传递及其通知机制我有以下场景,你能帮忙吗?我的 android 应用程序允许其用户订阅兴趣(如跑步、电影、餐厅):通过使用 Firebase 消息传递主题机制

例如,如果任何用户创建了 RESTAURANT 事件,我希望只有在半径范围内(例如 10 公里)内的附近用户才能收到已创建 RESTAURANT 事件的通知。

问题是 Firebase 主题不允许对位置进行过滤。它将通知发送给订阅 RESTAURANT 主题的任何用户。分段逻辑不允许我在这个主题上花费了很长时间的订阅机制:geofence 和 geofire 不是直接的解决方案,或者可能是我误解了。

我已经探索过geospark,但它非常昂贵。任何想法如何解决这个问题。谢谢你?