1 个稳定版本
41.0.0 | 2024年8月11日 |
---|
#2292 在 数据库接口
43,124 每月下载量
在 37 个 Crates 中使用(通过 datafusion)
4MB
73K SLoC
Apache DataFusion
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
:读取使用xz2
、bzip2
、flate2
和zstd
压缩的文件crypto_expressions
:如md5
和sha256
的加密函数datetime_expressions
:如to_timestamp
的日期和时间函数encoding_expressions
:encode
和decode
函数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