问题标签 [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.
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 的选择然后返回:
scala - Spark 任务无法将行写入 ORC 表
我为几何字段的空间连接运行以下代码:
生成的数据框稍后会保存到 ORC 表中:
我在执行过程中收到此错误: org.apache.spark.SparkException: Task failed while writing rows
这个问题的根本原因是什么?
python - 如何将点连接到最近的多边形边界
我正在尝试加入两个空间数据集。第一个包含点和第二个多边形。
但是,有些点在多边形之外。
有没有一种简单的方法可以将这些点连接/捕捉到最近的多边形边界,而不是最近的多边形质心?
目前我正在加入最近的多边形质心,但这不会产生我正在寻找的结果。
dataframe - 如何在 pyspark 数据框中将几何列从二进制格式转换为字符串格式?
这是我的尝试:
%sql SELECT df1.*,df1.geometry.STAsText() as geom_text FROM df_geo df1.
这显然失败了,因为它不是一个表,而是一个数据框。如何使用 pyspark 或 geospark 做到这一点?
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 上运行。
我该如何解决这个问题以进一步进行?任何帮助/建议将不胜感激。
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 中声明的依赖项:
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()
错误日志:
sql - 为什么 Apache Sedona 的 ST_Buffer 和 ST_Distance 之间存在意想不到的差异?
我希望将两个表与 Apache Sedona(以前的 GeoSpark)连接起来,并在两种方法之间获得意想不到的差异。特别是 ST_Distance 似乎产生了一些奇怪的结果,我无法弄清楚这是否是 Sedona 的问题,或者(更有可能)是关于我使用该功能的方式的问题。
我正在尝试加入对象彼此相距不到 5m 的位置。
方法一(在相交旁边使用缓冲区)
这会产生预期的结果(即,这些对象之间的最大距离约为 5)
方法二(使用距离评估)
这将返回大约 400 的大量数字,这似乎是错误的。
对我来说,这两个查询的结果似乎应该或多或少相同,尤其是后者看起来像 Apache 文档推荐的那样。
这两个查询应该以不同的方式评估是否有原因?我错过了这些功能的本质,或者这真的是 Sedona 的问题吗?
scala - 如何从 H3 边界创建 PolygonRDD?
我正在将 Apache Spark 与 Apache Sedona(以前称为 GeoSpark)一起使用,并且我正在尝试执行以下操作:
- 在每一行中取一个
DataFrame
包含纬度和经度(它来自任意来源,它既不是 aPointRDD
也不是来自特定文件格式)并将其转换为DataFrame
带有每个点的 H3 索引的 a。 - 拿它
DataFrame
并创建一个PolygonRDD
包含每个不同 H3 索引的 H3 单元格边界。
这是我到目前为止所拥有的:
但是,在运行sbt assembly
并将输出 jar 提交到后spark-submit
,我收到此错误:
实现我想要做的事情的正确方法是什么?
android - Firebase 消息传递:带有位置触发通知的订阅主题
我正在使用firebase云消息传递及其通知机制我有以下场景,你能帮忙吗?我的 android 应用程序允许其用户订阅兴趣(如跑步、电影、餐厅):通过使用 Firebase 消息传递主题机制
例如,如果任何用户创建了 RESTAURANT 事件,我希望只有在半径范围内(例如 10 公里)内的附近用户才能收到已创建 RESTAURANT 事件的通知。
问题是 Firebase 主题不允许对位置进行过滤。它将通知发送给订阅 RESTAURANT 主题的任何用户。分段逻辑不允许我在这个主题上花费了很长时间的订阅机制:geofence 和 geofire 不是直接的解决方案,或者可能是我误解了。
我已经探索过geospark,但它非常昂贵。任何想法如何解决这个问题。谢谢你?