25次重大版本更新

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

#108 in 编码

Download history 158755/week @ 2024-05-03 188011/week @ 2024-05-10 171008/week @ 2024-05-17 166610/week @ 2024-05-24 248234/week @ 2024-05-31 281237/week @ 2024-06-07 237777/week @ 2024-06-14 292819/week @ 2024-06-21 281282/week @ 2024-06-28 274543/week @ 2024-07-05 273988/week @ 2024-07-12 277733/week @ 2024-07-19 295246/week @ 2024-07-26 293738/week @ 2024-08-02 294709/week @ 2024-08-09 264296/week @ 2024-08-16

1,205,022 个月下载量
125crate中(19个直接使用)

Apache-2.0

3MB
63K 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文档可以在此处找到。

版本发布和计划

arrowparquetcrate

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中更广泛的分析计算功能。

例如,您可以编写SQL查询或使用 datafusion 库的 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 IPC 格式

依赖项

~6–13MB
~128K SLoC