whatisgithub

What is datafusion?

windyrobin/datafusion — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2024-04-23

Audience · developerComplexity · 4/5DormantLicenseSetup · moderate

In one sentence

Apache DataFusion is a fast, customizable SQL query engine written in Rust for querying CSV, JSON, Parquet, and Avro data, built for other tools to be built on top of.

Mindmap

mindmap
  root((repo))
    What it does
      SQL query engine
      Dataframe API
      Queries files directly
    Tech stack
      Rust
      Python
      Apache Arrow
    Use cases
      Build analytics platforms
      Build custom databases
      Data pipeline tooling
    Audience
      Data engineers
      Infra builders
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Query CSV, JSON, Parquet, or Avro files using SQL or a Dataframe API instead of a full database.

USE CASE 2

Build a custom analytics platform or specialized database engine on top of a proven query engine.

USE CASE 3

Build data pipeline tools that need efficient query planning and execution.

USE CASE 4

Use from Python via bindings instead of writing Rust directly.

What is it built with?

RustPythonApache ArrowSQL

How does it compare?

windyrobin/datafusion0verflowme/alarm-clock0verflowme/seclists
LanguageCSS
Last pushed2024-04-232022-10-032020-05-03
MaintenanceDormantDormantDormant
Setup difficultymoderateeasyeasy
Complexity4/52/51/5
Audiencedevelopervibe coderops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Best used as a Rust or Python library embedded in a larger data project, not a standalone app.

Apache-licensed: free to use, modify, and distribute, including commercially.

So what is it?

Apache DataFusion is a fast, flexible SQL query engine written in Rust that lets you ask questions of your data, similar to what you'd do in a spreadsheet or database, but with much better performance and the ability to customize it for your specific needs. Instead of being locked into a single database product, DataFusion is a building block that developers and companies use to create their own data tools, pipelines, and query systems. Here's what you can do with it: write SQL queries or use a Dataframe API (a programmatic way to manipulate data) to search, filter, and analyze files like CSVs, JSON, Parquet, and Avro formats. DataFusion handles all the heavy lifting of parsing your query, figuring out the most efficient way to run it, and returning results. You can also use it from Python if you prefer, not just from Rust. The README mentions it performs competitively on benchmark tests, which matters if you're processing large datasets. Who uses this? Data engineers building custom analytics platforms, companies creating specialized database engines, and anyone writing data pipeline tools benefits from starting with a proven, open-source query engine instead of building one from scratch. Rather than being a consumer product like a traditional database, DataFusion is infrastructure, a foundation that other projects are built on top of. What's notable is the emphasis on customization. The project is designed to let you pick and choose which features you need (support for different file formats, encryption functions, date operations, etc.) so you don't pay overhead for capabilities you don't use. It's also part of the Apache Arrow ecosystem, which is a widely adopted standard for how data is organized in memory, making it compatible with many other data tools in the modern analytics stack.

Copy-paste prompts

Prompt 1
Show me how to run a SQL query against a Parquet file using DataFusion from Python.
Prompt 2
Explain how DataFusion decides the most efficient way to execute a given SQL query.
Prompt 3
Help me pick which optional features to enable in DataFusion so I don't pay overhead for unused capabilities.
Prompt 4
How does DataFusion's use of Apache Arrow make it compatible with other data tools?

Frequently asked questions

What is datafusion?

Apache DataFusion is a fast, customizable SQL query engine written in Rust for querying CSV, JSON, Parquet, and Avro data, built for other tools to be built on top of.

Is datafusion actively maintained?

Dormant — no commits in 2+ years (last push 2024-04-23).

What license does datafusion use?

Apache-licensed: free to use, modify, and distribute, including commercially.

How hard is datafusion to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is datafusion for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.