跳转至

快速开始

安装

从源代码安装:

git clone https://github.com/apache/sedona-spatialbench.git
cd sedona-spatialbench
cargo install --path spatialbench-cli

安装完成后,你应当能够运行:

spatialbench-cli --help

生成 SF1 数据

以 Parquet 格式生成规模因子为 1 的完整数据集:

spatialbench-cli --scale-factor 1

该命令会生成六张表:

  • trip
  • customer
  • driver
  • vehicle
  • zone
  • building

默认情况下,输出会写入当前目录。

自定义输出文件

下面介绍几个常用的输出文件自定义选项。要查看全部可用选项,请运行 spatialbench-cli --help

仅生成部分表

spatialbench-cli --scale-factor 1 --tables trip,building

将表输出分区为多个文件

手动指定分区数量:

spatialbench-cli --scale-factor 10 --tables trip --parts 4

或者让 CLI 根据目标文件大小来自动决定文件数量:

spatialbench-cli --scale-factor 10 --mb-per-file 512

设置输出目录

spatialbench-cli --scale-factor 1 --output-dir data/sf1

直接生成到 S3

你可以通过将输出目录设置为 S3 URI,将数据直接生成到 Amazon S3 或兼容 S3 的存储中:

# 设置 AWS 凭据
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_REGION="us-west-2"  # 必须与你的桶所在区域一致

# 生成数据到 S3
spatialbench-cli --scale-factor 10 --mb-per-file 256 --output-dir s3://my-bucket/spatialbench/sf10

# 对于兼容 S3 的服务(如 MinIO 等)
export AWS_ENDPOINT="http://localhost:9000"
spatialbench-cli --scale-factor 1 --output-dir s3://my-bucket/data

S3 写入器采用流式分段上传(multipart upload),在上传分段前以 32 MB 的块对数据进行缓冲。所有标准的 AWS 环境变量均受支持,包括用于临时凭据的 AWS_SESSION_TOKEN

配置空间数据分布

SpatialBench 使用一个空间数据生成器,按照真实的空间分布来生成合成的点和多边形数据。

要详细了解 SpatialBench 提供的各种空间分布,请参见此处

有关空间分布的调优、完整的 YAML schema 与示例的更多细节,请参阅 CONFIGURATION.md

你可以通过 --config 参数传入 YAML 文件,从而在运行时覆盖默认值:

spatialbench-cli --scale-factor 1 --config spatialbench-config.yml

如果未提供 --config,SpatialBench 会检查 ./spatialbench-config.yml。如果该文件也不存在,则回退到内置默认配置。