27 个主要重大版本更新
52.2.0 | 2024 年 7 月 28 日 |
---|---|
52.0.0 | 2024 年 6 月 6 日 |
51.0.0 | 2024 年 3 月 18 日 |
50.0.0 | 2024 年 1 月 12 日 |
25.0.0 | 2022 年 10 月 17 日 |
125 在 测试 中排名
576 每月下载量
在 chewdata 中使用
545KB
11K SLoC
Apache Arrow 和 Apache Parquet 的原生 Rust 实现
欢迎使用 Rust 实现 Apache Arrow,一个流行的内存列式格式。
此仓库包含以下主要组件
软件包 | 描述 | 最新 API 文档 | README |
---|---|---|---|
arrow |
核心功能(内存布局、数组、低级计算) | docs.rs | (README) |
arrow-flight |
支持 Arrow-Flight IPC 协议 | docs.rs | (README) |
object-store |
支持与对象存储的交互(aws、azure、gcp、本地、内存中) | docs.rs | (README) |
parquet |
支持 Parquet 列式文件格式 | docs.rs | (README) |
parquet_derive |
一个用于推导任意简单结构体的 RecordWriter/RecordReader 的软件包 | docs.rs | (README) |
本仓库中 API 文档的当前开发版本可在此处找到 这里。
版本发布和计划
arrow
和 parquet
软件包
Arrow Rust 项目大约每月发布一次,并遵循 语义版本控制。
由于维护者和测试带宽的限制,arrow
库(包括 arrow
、arrow-flight
等)将与 parquet
和 parquet-derive
库在同一时间发布,版本也相同。
此库每月发布一次。我们最多每季度发布一次新的大版本(可能包含破坏性API更改),并在间隔月份发布增量小版本。更多详情请参见 此问题单。
为了减轻维护负担,我们从 master
分支进行定期发布(主要和次要版本)。关于处理破坏性API更改的PR的说明请参阅 贡献指南。
计划发布时间表
大约日期 | 版本 | 说明 |
---|---|---|
2024年9月 | 53.0.0 |
主要版本,可能包含破坏性API更改 |
2024年10月 | 53.1.0 |
小版本,无破坏性API更改 |
2024年11月 | 53.2.0 |
小版本,无破坏性API更改 |
2024年12月 | 54.0.0 |
主要版本,可能包含破坏性API更改 |
object_store
库
object_store
库独立于 arrow
和 parquet
库发布,并遵循 语义化版本控制。我们旨在大约每两个月发布一次新版本。
相关项目
在多个仓库中存在几个相关库
软件包 | 描述 | 文档 |
---|---|---|
datafusion |
支持SQL的内存查询引擎 | (README) |
ballista |
分布式查询执行 | (README) |
object_store_opendal |
使用 opendal 作为 object_store 后端 |
(README) |
这些库共同支持了Rust中更广泛的用于分析计算的功能。
例如,您可以使用 datafusion
库编写SQL查询或 DataFrame
(使用 parquet
库)来读取Parquet文件,使用Arrow的列格式(使用 arrow
库)进行内存中评估,并使用 arrow-flight
库将其发送到另一个进程。
一般来说,arrow
库提供使用Arrow数组的功能,而 datafusion
库提供SQL中常见的所有操作,包括 join
和窗口函数。
您可以在每个库的相应 README 中找到更多详细信息。
Arrow Rust 社区
dev@arrow.apache.org
邮件列表是 Arrow 社区的核心通信渠道。有关注册说明和存档链接,请参阅 Arrow 社区 页面。所有主要公告和通信都发生在这里。
Rust Arrow 社区还使用官方的 ASF Slack 进行非正式讨论和协调。这是一个结识其他贡献者和获取贡献指导的绝佳场所。加入我们的 #arrow-rust
频道,并请随时通过以下方式请求邀请:
- 发送邮件至
dev@arrow.apache.org
- GitHub 讨论区
- Discord 频道
Rust 实现使用 GitHub 问题 作为记录新功能和错误修复的系统,这在发布过程中发挥着至关重要的作用。
对于设计讨论,我们通常在 Google 文档上进行协作,并提交一个链接到该文档的 GitHub 问题。
更多详细信息请参阅 贡献指南。
lib.rs
:
这些实用工具定义了用于集成测试读取集成 JSON 格式的结构体。
这不是一个规范格式,但提供了一个可读性强的验证语言实现的方法
依赖关系
~12–20MB
~272K SLoC