Skip to content
Modern Lakehouse Concepts & InteroperabilityLast updated: October 14, 2026

Apache DataFusion

Apache DataFusion is an embeddable Rust SQL engine built on Apache Arrow. See how it reads and writes Iceberg tables and compares to DuckDB, Spark, and Trino.

datafusionapache datafusionrust query engineiceberg rust datafusiondatafusion-iceberg

Apache DataFusion

Apache DataFusion is an open source, extensible query engine written in Rust that uses Apache Arrow as its in-memory format. It ships as a library, not a server: developers add it to a Rust project and get a SQL parser, a DataFrame API, a query planner and optimizer, and a multi-threaded, vectorized execution engine that reads Parquet, CSV, JSON, and Arrow data.

DataFusion started as a subproject of Apache Arrow and became its own Apache top-level project in 2024. Projects built on it include InfluxDB 3, Apache DataFusion Comet (a Spark accelerator), and Ballista (distributed execution).

How It Is Built

Iceberg Integration Scope

DataFusion learns about Apache Iceberg through the iceberg-datafusion crate, which implements DataFusion’s traits on top of iceberg-rust:

Where the Integration Lives Now

The crate started inside apache/iceberg-rust. In September 2026 the Iceberg community voted to move it into a new apache/datafusion-iceberg repository under the DataFusion project (the vote passed on September 14 with 17 +1 votes and none against). The crate name stays iceberg-datafusion. Why the Iceberg DataFusion Integration Is Moving to Apache DataFusion covers what moved and why. DataFusion also powers native Iceberg scans for Spark through Comet; see DataFusion Comet 1.0 and Spark on Iceberg.

DataFusion vs Other Iceberg Engines

Apache DataFusionDuckDBApache Spark SQLTrino
FormRust libraryEmbedded C++ databaseDistributed JVM engineDistributed JVM SQL server
Main useBuilding engines and data servicesLocal and in-process analyticsLarge batch ETL and streamingInteractive SQL across sources
ExtensibilityDeep (planner, operators, sources)ExtensionsData sources, UDFs, pluginsConnectors, UDFs
Iceberg supporticeberg-datafusion crateiceberg extensionMature, read and writeMature, read and write

Pick DataFusion when you are building a product or service that needs a query engine inside it. For a ready-to-use tool, DuckDB, Spark, Trino, or Dremio are closer to what you want.

Read more on this blog

πŸ“š Go Deeper on Apache Iceberg

Alex Merced has authored three hands-on books covering Apache Iceberg, the Agentic Lakehouse, and modern data architecture. Pick up a copy to master the full ecosystem.

← Back to Iceberg Knowledge Base

Work with Alex