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数据库接口

Download history 140361/week @ 2024-05-01 160397/week @ 2024-05-08 155707/week @ 2024-05-15 154896/week @ 2024-05-22 196166/week @ 2024-05-29 259387/week @ 2024-06-05 250897/week @ 2024-06-12 241251/week @ 2024-06-19 297351/week @ 2024-06-26 238207/week @ 2024-07-03 257712/week @ 2024-07-10 251323/week @ 2024-07-17 268185/week @ 2024-07-24 272816/week @ 2024-07-31 267687/week @ 2024-08-07 286179/week @ 2024-08-14

1,146,763 每月下载量
用于 327 个 Crates(14 个直接使用)

Apache-2.0

2MB
41K SLoC

Apache Arrow 和 Apache Parquet 的原生 Rust 实现

Coverage Status

欢迎使用 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

版本发布和计划

arrowparquet

Arrow Rust 项目大约每月发布一次,并遵循 Semantic Versioning

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

有几个相关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 频道,并随时通过

  1. 邮件列表 dev@arrow.apache.org
  2. GitHub Discussions
  3. Discord 频道

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

对于设计讨论,我们通常在 Google 文档上协作,并提交一个 GitHub issue 链接到该文档。

更多信息请参阅 贡献指南


lib.rs:

Arrow 算术和聚合内核

依赖项

~2.8–9MB
~69K SLoC