1 个稳定版本

41.0.0 2024年8月11日

#2292数据库接口

Download history 5828/week @ 2024-08-09 37296/week @ 2024-08-16

43,124 每月下载量
37 个 Crates 中使用(通过 datafusion

Apache-2.0

4MB
73K SLoC

Apache DataFusion

Crates.io Apache licensed Build Status Discord chat

网站 | 指南 | API 文档 | 聊天

logo

Apache DataFusion 是一个非常快、可扩展的查询引擎,用于在 Rust 中构建高质量的数据中心系统,使用 Apache Arrow 内存格式。还提供了 Python 绑定。DataFusion 提供了 SQL 和 DataFrame API、卓越的性能、内置对 CSV、Parquet、JSON 和 Avro 的支持、广泛的定制以及一个优秀的社区。

以下是重要信息的链接

您可以使用这个 crate 做什么?

DataFusion 构建项目,如特定领域的查询引擎、新的数据库平台和数据管道、查询语言等,非常出色。它允许您从一个完全工作的引擎快速开始,然后自定义特定于您的使用功能。点击这里查看已知用户列表。

为 DataFusion 贡献

请参阅贡献指南通讯页面以获取更多信息。

Crate 功能

此 crate 有几个可以在您的 Cargo.toml 中指定的 功能

默认功能

  • nested_expressions:处理嵌套类型函数(如 array_to_string)的函数
  • compression:读取使用 xz2bzip2flate2zstd 压缩的文件
  • crypto_expressions:如 md5sha256 的加密函数
  • datetime_expressions:如 to_timestamp 的日期和时间函数
  • encoding_expressionsencodedecode 函数
  • parquet:支持读取 Apache Parquet 格式
  • regex_expressions:正则表达式函数,例如 regexp_match
  • unicode_expressions:包括 character_length 等了解 Unicode 的函数
  • unparser:启用将 LogicalPlans 反转为 SQL 的支持

可选功能

  • avro:支持读取 Apache Avro 格式
  • backtrace:在错误消息中包含回溯信息
  • pyarrow:在 PyArrow 和 DataFusion 类型之间进行转换
  • serde:启用 arrow-schema 的 serde 功能

Rust 版本兼容性策略

DataFusion 的最低要求稳定 Rust 版本 (MSRV) 策略是在每个稳定 Rust 版本发布后支持 6 个月。这通常意味着支持最近的 3 到 4 个稳定 Rust 版本。

我们使用 MSRV CI 检查 来执行此策略

依赖关系

~26–41MB
~669K SLoC