跳转至
Apache Sedona 1.9.0 已正式发布,新增 Spark 4.1 支持、proj4sedona 坐标系转换、Bing Tile 函数等众多特性!

Maven 坐标

使用 Sedona shaded(fat)jar

Warning

对于 Scala/Java/Python 用户,这是在您的环境中使用 Sedona 最常见的方式。除非确认确实不需要 shaded jar,否则不要使用单独的 Sedona jar。

Warning

对于 R 用户,这是在您的环境中使用 Sedona 的唯一方式。

Apache Sedona 针对每个受支持的 Spark 版本提供了不同的包。

请使用 artifact 名称中包含 Spark major.minor 版本号的 artifact。例如,对于 Spark 3.4,应使用 sedona-spark-shaded-3.4_2.12

如果使用基于 Scala 2.13 编译的 Spark,则应使用对应的 Scala 2.13 版本,其后缀为 _2.13

可选的 GeoTools 库仅在使用栅格算子时才需要。矢量 CRS 转换(ST_Transform)现在默认使用内置的 proj4sedona,无需 GeoTools。该 wrapper 库是 GeoTools 官方 jar 的再分发,目的仅是把 GeoTools jar 从 OSGEO 仓库带入 Maven Central。该库基于 GNU Lesser General Public License (LGPL) 协议,因此无法打包进 Sedona 官方发行版中。

Sedona 与 Apache Spark + Scala 2.12

<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-shaded-3.4_2.12</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-shaded-3.5_2.12</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-shaded-4.0_2.12</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>

Sedona 与 Apache Spark + Scala 2.13

<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-shaded-3.4_2.13</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-shaded-3.5_2.13</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-shaded-4.0_2.13</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-shaded-4.1_2.13</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>

Sedona 与 Apache Flink

<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-flink-shaded_2.12</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>

Sedona 与 Snowflake

<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-snowflake</artifactId>
  <version>1.9.0</version>
</dependency>
<!-- 可选:https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>

使用 Sedona unshaded jar

Warning

Scala、Java、Python 用户仅在同时满足以下条件时才考虑使用下面的 jar:(1) 您知道如何在复杂应用中排除传递依赖;(2) 您的环境可以访问公网;(3) 您正在使用某种 Maven 包解析器,或 pom.xml/build.sbt,它通常以 GroupID:ArtifactID:Version 的形式接收输入。如果您不清楚以上含义,那么下面的 jar 不适合您。

Apache Sedona 针对每个受支持的 Spark 版本提供了不同的包。

请使用 artifact 名称中包含 Spark major.minor 版本号的 artifact。例如,对于 Spark 3.4,应使用 sedona-spark-3.4_2.12

如果使用基于 Scala 2.13 编译的 Spark,则应使用对应的 Scala 2.13 版本(后缀为 _2.13)。

可选的 GeoTools 库仅在使用栅格算子时才需要。矢量 CRS 转换(ST_Transform)现在默认使用内置的 proj4sedona,无需 GeoTools。该 wrapper 库是 GeoTools 官方 jar 的再分发,目的仅是把 GeoTools jar 从 OSGEO 仓库带入 Maven Central。该库基于 GNU Lesser General Public License (LGPL) 协议,因此无法打包进 Sedona 官方发行版中。

Sedona 与 Apache Spark + Scala 2.12

<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-3.4_2.12</artifactId>
  <version>1.9.0</version>
</dependency>
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-3.5_2.12</artifactId>
  <version>1.9.0</version>
</dependency>
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-4.0_2.12</artifactId>
  <version>1.9.0</version>
</dependency>
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>

Sedona 与 Apache Spark + Scala 2.13

<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-3.4_2.13</artifactId>
  <version>1.9.0</version>
</dependency>
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-3.5_2.13</artifactId>
  <version>1.9.0</version>
</dependency>
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-4.0_2.13</artifactId>
  <version>1.9.0</version>
</dependency>
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>
<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-spark-4.1_2.13</artifactId>
  <version>1.9.0</version>
</dependency>
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>

Sedona 与 Apache Flink

<dependency>
  <groupId>org.apache.sedona</groupId>
  <artifactId>sedona-flink_2.12</artifactId>
  <version>1.9.0</version>
</dependency>
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>geotools-wrapper</artifactId>
    <version>1.9.0-33.5</version>
</dependency>

Sedona Snowflake 没有 unshaded 版本。

netCDF-Java 5.4.2

仅当您希望使用 RS_FromNetCDF 读取 HDF/NetCDF 文件时才需要此依赖。注意该 JAR 并未发布到 Maven Central,需要在 pom.xml 或 build.sbt 中加入对应仓库,或在 Spark 配置 spark.jars.repositories / spark-submit --repositories 中指定其 URL。

许可协议:BSD 3-clause(与 Apache 2.0 兼容)。

添加 HDF/NetCDF 依赖

在 pom.xml 中加入 unidata 仓库:

<repositories>
    <repository>
        <id>unidata-all</id>
        <name>Unidata All</name>
        <url>https://artifacts.unidata.ucar.edu/repository/unidata-all/</url>
    </repository>
</repositories>

然后将 cdm-core 添加到 POM 依赖中:

<dependency>
    <groupId>edu.ucar</groupId>
    <artifactId>cdm-core</artifactId>
    <version>5.4.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.datasyslab/sernetcdf -->
<dependency>
    <groupId>org.datasyslab</groupId>
    <artifactId>sernetcdf</artifactId>
    <version>0.1.0</version>
</dependency>

SNAPSHOT 版本

有时 Sedona 会为即将发布的版本提供 SNAPSHOT 版本。其命名规则与正式版相同,仅在版本号中以 “SNAPSHOT” 作为后缀,例如 1.9.1-SNAPSHOT

要下载 SNAPSHOT,需要在 pom.xml 或 build.sbt 中添加以下仓库:

build.sbt

resolvers += "Apache Software Foundation Snapshots" at "https://repository.apache.org/content/groups/snapshots"

pom.xml

<repositories>
    <repository>
        <id>snapshots-repo</id>
        <url>https://repository.apache.org/content/groups/snapshots</url>
        <releases><enabled>false</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </repository>
</repositories>