快速开始
安装¶
从源代码安装:
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。如果该文件也不存在,则回退到内置默认配置。