6个版本 (3个重大变更)

52.2.0 2024年7月28日
52.1.0 2024年7月6日
52.0.0 2024年6月6日
51.0.0 2024年3月18日
48.0.1 2023年11月13日

#1102解析器实现

Download history 6/week @ 2024-05-17 3/week @ 2024-05-24 92/week @ 2024-05-31 53/week @ 2024-06-07 6/week @ 2024-06-14 1/week @ 2024-06-28 126/week @ 2024-07-05 5/week @ 2024-07-12 1/week @ 2024-07-19 129/week @ 2024-07-26 11/week @ 2024-08-02

每月141 次下载

Apache-2.0

2.5MB
50K SLoC

Apache Arrow和Apache Parquet的本地Rust实现

Coverage Status

欢迎使用Apache Arrow的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文档可在此处找到。此处.

发布版本和计划

arrowparquet 软件包

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软件包发布,并遵循语义版本控制。我们旨在大约每两个月发布新版本。

在不同存储库中有几个相关软件包

软件包 描述 文档
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 Discussions
  3. Discord频道

Rust实现使用GitHub问题作为新功能和错误修复的系统记录,这在发布过程中起着至关重要的作用。

对于设计讨论,我们通常在Google文档上进行合作,并提交GitHub问题,链接到该文档。

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


lib.rs:

将数据转换为/从Apache Arrow内存格式和Apache Avro

依赖项

~9–16MB
~201K SLoC