1个不稳定版本
0.1.0-占位符 | 2022年6月29日 |
---|
106 in #apache-arrow
2KB
Apache Arrow和Apache Parquet的本地Rust实现
欢迎使用Apache Arrow的Rust实现,这是一个流行的内存列式格式。
本仓库包含以下主要组件
包 | 描述 | 最新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项目大约每月发布一次,并遵循语义版本控制。
由于可用的维护者和测试带宽,arrow
包(arrow
、arrow-flight
等)与parquet
和parquet-derive
包具有相同的发布计划和版本。
从2024年6月开始,我们计划每个季度最多发布一次可能具有破坏性API更改的新主要版本,并在间隔月份发布增量次要版本。有关更多详细信息,请参阅此票据。
为了减少我们的维护负担,我们定期从master
分支发布(主要和次要)版本。如何处理破坏性API更改的PR在本贡献指南中描述。
例如
大约日期 | 版本 | 说明 |
---|---|---|
2024年6月 | 52.0.0 |
主要版本,可能具有破坏性API更改 |
2024年7月 | 52.1.0 |
次要版本,无破坏性API更改 |
2024年8月 | 52.2.0 |
次要版本,无破坏性API更改 |
2024年9月 | 53.0.0 |
主要版本,可能具有破坏性API更改 |
object_store
包
object_store
包独立于arrow
和parquet
包发布,并遵循语义版本控制。我们旨在大约每两个月发布新版本。
相关项目
在多个仓库中存在几个相关包
包 | 描述 | 文档 |
---|---|---|
datafusion |
具有SQL支持的内存查询引擎 | (README) |
ballista |
分布式查询执行 | (README) |
object_store_opendal |
使用opendal 作为object_store 后端 |
(README) |
这些包共同支持Rust中分析计算的更广泛功能。
例如,您可以使用SQL查询或使用datafusion
crate)来读取parquet文件(使用parquet
crate),并通过Arrow的列式格式(使用arrow
crate))在内存中评估它,然后发送到另一个进程(使用arrow-flight
crate)。
一般来说,arrow
crate提供了使用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,链接到该文档。
更多详细信息请参阅贡献指南。