Azure Databricks:使用 Spark 进行地理空间查询 SQL

Azure Databricks : Geospatial queries with Spark SQL

目前我有:

我想看看是否可以使用一些空间库改进“minLat 和 maxLat 之间的纬度以及 minLon 和 maxLon 之间的经度”。我检查过的一个这样的例子是 GeoSpark。这里的问题是,当前版本的 GeoSpark(和 GeoSParkSql)仅适用于 spark v2.3,databricks 中不再支持运行时适用于该版本。

有什么想法吗?

注意:我暂时不能偏离SQL。

GeoSpark 以 Apache Sedona project 的身份加入了 Apache 基金会,大约 2 周前发布了支持 Spark 3.0 的版本,因此您可以像 GeoSpark 一样使用它。

P.S。为了自动注册函数,我们可以创建这样的东西,编译成 jar,然后用 --conf spark.sql.extensions=...SomeExtensions:

配置 Spark
class SomeExtensions extends (SparkSessionExtensions => Unit) {
  def apply(e: SparkSessionExtensions): Unit = {
    e.injectCheckRule(spark => {
      // Setup something
      _ => Unit
    })
  }
}