7个版本

新版本 0.19.0 2024年8月14日
0.18.2 2024年8月7日
0.18.1 2024年6月24日
0.17.3 2024年5月1日
0.17.0 2024年2月6日

数据库接口 中排名第 1398

Download history • Rust 包仓库 1090/week @ 2024-04-27 • Rust 包仓库 693/week @ 2024-05-04 • Rust 包仓库 677/week @ 2024-05-11 • Rust 包仓库 1581/week @ 2024-05-18 • Rust 包仓库 7598/week @ 2024-05-25 • Rust 包仓库 63616/week @ 2024-06-01 • Rust 包仓库 80983/week @ 2024-06-08 • Rust 包仓库 76249/week @ 2024-06-15 • Rust 包仓库 113350/week @ 2024-06-22 • Rust 包仓库 102598/week @ 2024-06-29 • Rust 包仓库 86599/week @ 2024-07-06 • Rust 包仓库 80917/week @ 2024-07-13 • Rust 包仓库 79477/week @ 2024-07-20 • Rust 包仓库 86927/week @ 2024-07-27 • Rust 包仓库 75268/week @ 2024-08-03 • Rust 包仓库 51118/week @ 2024-08-10 • Rust 包仓库

每月下载量 307,719
13 个crate使用 (直接使用7个)

Apache-2.0

2MB
39K SLoC

Deltalake

crates.io api_doc

Rust语言的Delta Lake本地实现

用法

API

let table = deltalake::open_table("./tests/data/simple_table").await.unwrap();
println!("{}", table.get_files());

CLI

首先进入 delta-inspect 目录,然后运行以下命令。请注意,测试数据位于 rust 目录,而不是 delta-inspect

 cargo run --bin delta-inspect files ../rust/tests/data/delta-0.2.0
part-00000-cb6b150b-30b8-4662-ad28-ff32ddab96d2-c000.snappy.parquet
part-00000-7c2deba3-1994-4fb8-bc07-d46c948aa415-c000.snappy.parquet
part-00001-c373a5bd-85f0-4758-815e-7eb62007a15c-c000.snappy.parquet
 cargo run --bin delta-inspect info ./tests/data/delta-0.2.0
DeltaTable(./tests/data/delta-0.2.0)
        version: 3
        metadata: GUID=22ef18ba-191c-4c36-a606-3dad5cdf3830, name=None, description=None, partitionColumns=[], createdTime=1564524294376, configuration={}
        min_version: read=1, write=2
        files count: 3

示例

示例文件夹展示了如何使用Rust API操作Delta表。

首先进入 rust 目录,然后可以使用 cargo run --example 命令运行示例。例如

cargo run --example read_delta_table

可选的cargo包功能

  • azure - 启用Azure存储后端,以便与Azure Data Lake Storage Gen2账户中的Delta表一起工作。
  • datafusion - 启用Delta表的 datafusion::datasource::TableProvider 特性实现,允许使用 DataFusion 进行查询。
  • datafusion-ext - 已弃用:datafusion 特性的别名
  • gcs - 启用Google存储后端,以便与Google Cloud Storage中的Delta表一起工作。
  • json - 启用 parquet crate的JSON功能,以实现更好的JSON互操作性。

开发

要运行本地机器上的s3集成测试,我们使用docker-compose启动AWS本地堆栈。在 delta-rs 仓库的根目录下运行 docker-compose up 来启动测试环境。

依赖关系

~36–59MB
~1M SLoC