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

安装 Sedona SQL

Note

本教程介绍如何在 Snowflake 上手动安装 Sedona。如果您不希望手动安装,可以使用由 Wherobots 发布的免费 SedonaSnow 原生应用。

前置条件

要在 Snowflake 上安装 Sedona,需要准备一个 Snowflake 账号,以及一位至少能访问一个 DATABASE 并能运行至少一个 WAREHOUSE 的 Snowflake 用户。然后按照以下步骤进行安装。

如何创建 DATABASE 可参阅 Snowflake 官方文档

本教程使用如下 SQL 语句创建数据库;当然您也可以使用任意其他数据库:

CREATE DATABASE SEDONA_TEST;

步骤 1:在数据库中创建 stage

stage 是 Snowflake 中映射到云存储位置(如 Amazon S3、Azure Blob Storage、Google Cloud Storage)的对象,可用于将数据加载到表中或从表中卸载数据。

这里我们在上一步创建的数据库的 public schema 下创建一个名为 ApacheSedona 的 stage,用于上传 Sedona 的 JAR 文件。我们选择 Snowflake managed 类型的 stage。

在数据库中创建 stage

创建后,您应能在数据库中看到该 stage:

在数据库中查看 stage

如何创建 stage 可参阅 Snowflake 官方文档

步骤 2:将 Sedona 的 JAR 文件上传到 stage

需要下载以下 2 个 JAR 文件:

然后将这 2 个 JAR 文件上传到上一步创建的 stage 中。

上传完成后,您应能在 stage 中看到这 2 个文件:

stage 中的 2 个 JAR 文件

如何向 stage 上传文件可参阅 Snowflake 官方文档

步骤 3:在数据库中创建 schema

schema 是 Snowflake 中映射到数据库的对象,可按业务功能或其他类别将表组织在一起。

这里我们在上一步的数据库下创建一个名为 SEDONA 的 schema,用于承载 Sedona 的函数。

在数据库中创建 schema

随后即可在数据库中找到该 schema:

在数据库中查看 schema

如何创建 schema 可参阅 Snowflake 官方文档

步骤 4:获取创建 Sedona 函数的 SQL 脚本

通过运行以下命令获取该 SQL 脚本:

java -jar sedona-snowflake-1.9.0.jar --geotools-version 1.9.0-33.5 > sedona-snowflake.sql

其中 sedona-snowflake-1.9.0.jar 即步骤 2 中下载的 JAR 文件。

步骤 5:运行 SQL 脚本以创建 Sedona 的函数

我们在上一步的数据库下创建一个 worksheet,并运行该 SQL 脚本以创建 Sedona 的函数。

这里我们选择 Create Worksheet from SQL File 选项。

从 SQL 文件创建 Worksheet

在 worksheet 中将数据库选择为 SEDONA_TEST,schema 选择为 PUBLIC。SQL 脚本应已加载到 worksheet 中。然后右键点击 worksheet 选择 Run All。Snowflake 大约会用 3 分钟时间创建 Sedona 的函数。

运行 SQL 脚本以创建 Sedona 函数

步骤 6:验证安装

打开新的 worksheet,将数据库选为 SEDONA_TEST,schema 任意。然后运行以下 SQL 语句:

SELECT SEDONA.ST_AsEWKT(SEDONA.ST_SETSRID(SEDONA.ST_POINT(1, 2), 4326));

应能看到如下结果:

SRID=4326;POINT (1 2)

worksheet 应类似下图:

验证安装的 worksheet 输出