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 在 数据库接口
746,741 每月下载量
在 124 个 Crates 中使用 124 (直接使用 91 个)
10MB
205K SLoC
Apache DataFusion
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
:读取使用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 检查 来强制执行此策略
依赖项
~38–56MB
~1M SLoC