26个主要重大版本发布

52.2.0 2024年7月28日
52.0.0 2024年6月6日
51.0.0 2024年3月18日
50.0.0 2024年1月12日
26.0.0 2022年11月3日

#526算法

Download history 168635/week @ 2024-05-03 197215/week @ 2024-05-10 182551/week @ 2024-05-17 174508/week @ 2024-05-24 255848/week @ 2024-05-31 290308/week @ 2024-06-07 245084/week @ 2024-06-14 298885/week @ 2024-06-21 286995/week @ 2024-06-28 279808/week @ 2024-07-05 279747/week @ 2024-07-12 284904/week @ 2024-07-19 300485/week @ 2024-07-26 299037/week @ 2024-08-02 299044/week @ 2024-08-09 324555/week @ 2024-08-16

1,283,708 每月下载量
348 个crate(24个直接使用) 中使用

Apache-2.0

2MB
41K SLoC

Apache Arrow和Apache Parquet的本地Rust实现

Coverage Status

欢迎使用Rust实现的Apache Arrow,这是一种流行的内存列式格式。

此仓库包含以下主要组件

crate 描述 最新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的crate docs.rs (README)

当前开发版本,此仓库中的API文档可在此处找到。此处.

版本发布和计划

arrowparquet crates

Arrow Rust项目大约每月发布一次,并遵循语义版本控制.

由于可用的维护者和测试带宽,与arrow存储库(包括arrowarrow-flight等)具有相同版本和发布计划的parquetparquet-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存储库独立于arrowparquet存储库发布,并遵循语义版本控制。我们旨在大约每两个月发布一个新版本。

在多个存储库中有几个相关的存储库

crate 描述 文档
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频道,并请通过

  1. dev@arrow.apache.org邮件列表
  2. GitHub 讨论区(点击访问)
  3. Discord频道(点击访问)

Rust 实现使用GitHub 问题跟踪作为记录新特性和错误修复的系统,这在发布过程中发挥着关键作用。

对于设计讨论,我们通常在Google文档上进行协作,并创建一个链接到该文档的GitHub问题。

有关更多信息,请参阅贡献指南


lib.rs:

Arrow选择内核

依赖关系

~3.5–9MB
~78K SLoC