#apache-arrow #sql-query #query #arrow #sql

bin+lib datafusion

DataFusion是一个使用Apache Arrow作为内存模型的内存查询引擎

91 个版本 (40 个主要突破)

41.0.0 2024年8月11日
40.0.0 2024年7月12日
39.0.0 2024年6月10日
38.0.0 2024年5月10日
0.2.2 2018年3月26日

#12数据库接口

Download history 81301/week @ 2024-05-04 96912/week @ 2024-05-11 94547/week @ 2024-05-18 99308/week @ 2024-05-25 174418/week @ 2024-06-01 184517/week @ 2024-06-08 165262/week @ 2024-06-15 200406/week @ 2024-06-22 190073/week @ 2024-06-29 179415/week @ 2024-07-06 173520/week @ 2024-07-13 175393/week @ 2024-07-20 179076/week @ 2024-07-27 170375/week @ 2024-08-03 183067/week @ 2024-08-10 179736/week @ 2024-08-17

746,741 每月下载量
124 Crates 中使用 124 (直接使用 91 个)

Apache-2.0

10MB
205K SLoC

Apache DataFusion

Crates.io Apache licensed Build Status Discord chat

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

logo

Apache DataFusion是一个非常快速、可扩展的查询引擎,用于在Rust中构建高质量的数据中心系统,使用Apache Arrow的内存格式。还提供了Python 绑定。DataFusion提供SQL和数据帧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 检查 来强制执行此策略

依赖项

~38–56MB
~1M SLoC