Apache Arrow DataFusion
datafusion.apache.org
What it is
Apache Arrow DataFusion is a free, extensible query engine written in Rust that uses Apache Arrow as its in-memory format. It is intended for developers building database and analytics systems tailored to particular workloads, rather than as a ready-made hosted database. Queries run in-process, using threads for parallel execution. DataFusion offers SQL and DataFrame APIs, while related subprojects provide Python and Java interfaces. Documented capabilities include SQL parsing and planning, parallel and streaming execution, and query optimization. Built-in data sources include CSV, Parquet, JSON, Avro, and Arrow. Developers can add sources through the TableProvider trait and customize functions, operators, and other components. Runtime features include enforced memory limits and disk spilling for sorts, grouping, and joins. The core project is designed for in-process use; Ballista is a related distributed processing extension. Rust users commonly add DataFusion from crates.io, while official Apache releases are source artifacts. The project recommends verifying release artifacts with an OpenPGP signature or SHA-512 checksum.
Spec sheet
- Product
- Apache DataFusion is an extensible query engine written in Rust that uses Apache Arrow as its in-memory format.Read 29 Sep 2026 · datafusion.apache.org
- Intended users
- The core project provides libraries and binaries for developers building database and analytics systems customized to particular workloads.Read 29 Sep 2026 · datafusion.apache.org
- Support
- The project directs users to its community communication channels for getting in touch.Read 29 Sep 2026 · datafusion.apache.org
- APIs
- DataFusion offers SQL and DataFrame APIs, and related subprojects provide Python and Java interfaces.Read 29 Sep 2026 · datafusion.apache.org
- Distribution
- The core DataFusion project is designed for in-process use; Ballista is a related distributed processing extension.Read 29 Sep 2026 · datafusion.apache.org
- Downloads
- Rust users commonly add DataFusion from crates.io, while official Apache releases are provided as source artifacts.Read 29 Sep 2026 · datafusion.apache.org
- Execution
- DataFusion runs queries in-process using threads for parallel query execution.Read 29 Sep 2026 · datafusion.apache.org
- Extensibility
- Developers can add data sources through the TableProvider trait and customize functions, operators, and other components.Read 29 Sep 2026 · datafusion.apache.org
- Formats
- Built-in data source support includes CSV, Parquet, JSON, Avro, and Arrow.Read 29 Sep 2026 · datafusion.apache.org
- Governance
- The project is governed through the Apache Software Foundation process.Read 29 Sep 2026 · datafusion.apache.org
- Query features
- Documented features include SQL parsing and planning, parallel and streaming execution, and query optimization.Read 29 Sep 2026 · datafusion.apache.org
- Release verification
- The download page recommends verifying release artifacts with an OpenPGP signature or SHA-512 checksum.Read 29 Sep 2026 · datafusion.apache.org
- Runtime limits
- Documented runtime features include enforced memory limits and disk spilling for sorts, grouping, and joins.Read 29 Sep 2026 · datafusion.apache.org
Plans and prices
Strong points and limits
Strong points
- Free open-source project.
- Provides SQL and DataFrame APIs.
- Built-in sources include CSV, Parquet, JSON, Avro, and Arrow.
- Supports parallel and streaming execution.
- Includes memory limits and disk spilling.
Limits
- Core project is designed for in-process use.
- Official Apache releases are source artifacts.
- Distributed processing is a related extension.
Who it suits
DataFusion suits developers building custom database or analytics systems who want an embeddable query engine and can work with a Rust library or CLI. Teams seeking distributed processing can look at the related Ballista extension.
Verdict
DataFusion provides query planning, execution, and extensibility for developers embedding analytics capabilities in their own systems. Its in-process design and source-artifact releases are worth considering when planning deployment.
Where Specifiction places it
- Query Engine Software#10 of 288.0