跳转至
🎉 SedonaDB 0.4.0 已正式发布!🗺️ 新增 Python DataFrame API、R dplyr 接口、Geography 支持及 GPU 加速空间连接。阅读发布博客 →

安装 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 输出