22 个主要重大版本发布
| 52.2.0 | 2024 年 7 月 28 日 |
|---|---|
| 52.0.0 | 2024 年 6 月 6 日 |
| 51.0.0 | 2024 年 3 月 18 日 |
| 50.0.0 | 2024 年 1 月 12 日 |
| 30.0.1 | 2023 年 1 月 8 日 |
#200 在 数据库接口
1,146,763 每月下载量
用于 327 个 Crates(14 个直接使用)
2MB
41K 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 文档可在此处找到 here。
版本发布和计划
arrow 和 parquet 包
Arrow Rust 项目大约每月发布一次,并遵循 Semantic Versioning。
由于可用的维护者和测试带宽,与 arrowcrate(arrow、arrow-flight等)具有相同的版本和发布计划,与parquet和parquet-derivecrate。
此crate每月发布一次。我们每个季度最多发布一次新的大版本(可能包含破坏性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_storecrate
object_storecrate独立于arrow和parquetcrate发布,并遵循语义版本控制。我们旨在大约每两个月发布新版本。
相关项目
有几个相关crate在不同的存储库中
| 包 | 描述 | 文档 |
|---|---|---|
datafusion |
支持SQL的内存查询引擎 | (README) |
ballista |
分布式查询执行 | (README) |
object_store_opendal |
使用opendal作为object_store后端 |
(README) |
总而言之,这些crate为Rust中的分析计算提供了更广泛的功能。
例如,您可以使用(使用datafusioncrate)编写SQL查询或DataFrame来读取Parquet文件(使用parquetcrate),在Arrow的列格式中使用Arrow进行内存评估(使用arrowcrate),并将其发送到另一个进程(使用arrow-flightcrate)。
一般来说,arrowcrate提供了使用Arrow数组的功能,而datafusion提供了大多数SQL中常见的操作,包括join和窗口函数。
您可以在各自的README中找到每个crate的更多详细信息。
Arrow Rust社区
dev@arrow.apache.org邮件列表是Arrow社区的核心沟通渠道。有关注册说明和存档链接,请参阅Arrow社区页面。所有重大公告和通信都发生在这里。
Rust Arrow 社区也使用官方的 ASF Slack 进行非正式讨论和协调。这是一个结识其他贡献者和获得贡献指导的绝佳场所。加入我们的 #arrow-rust 频道,并随时通过
- 邮件列表
dev@arrow.apache.org - GitHub Discussions
- Discord 频道
Rust 实现 使用 GitHub issues 作为新特性和错误修复的记录系统,这在发布过程中起着关键作用。
对于设计讨论,我们通常在 Google 文档上协作,并提交一个 GitHub issue 链接到该文档。
更多信息请参阅 贡献指南。
lib.rs:
Arrow 算术和聚合内核
依赖项
~2.8–9MB
~69K SLoC