Skip to content
Projects

apache/datafusion-spark

View on GitHub

apache/datafusion-spark has 7 GitHub stars and 15 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 20:04 UTC. Last push 2026-11-13.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

Apache Spark-compatible expressions for Apache DataFusion

Data

README.md

Original

DataFusion Spark

Apache DataFusion expressions that emulate Apache Spark's behavior.

This crate provides Spark-compatible scalar, aggregate, and table functions that can be registered with a DataFusion SessionContext.

Quick start

[dependencies]
datafusion = "56"
datafusion-spark = { version = "56", features = ["core"] }

Call with_spark_features after with_default_features, since Spark functions replace DataFusion functions with the same name:

use datafusion::execution::SessionStateBuilder;
use datafusion::prelude::SessionContext;
use datafusion_spark::SessionStateBuilderSpark;

let state = SessionStateBuilder::new()
    .with_default_features()
    .with_spark_features()
    .build();
let ctx = SessionContext::new_with_state(state);

// `sha2` now has Spark semantics
let df = ctx.sql("SELECT sha2('Spark', 256)").await?;

See the crate README and the API documentation for more.

Repository layout

  • crates/spark – the datafusion-spark crate
  • crates/sqllogictest – SQL logic tests for the Spark functions
  • .ai/skills – agent skills for working on this repository (see AGENTS.md)

Building and testing

cargo build
cargo test

Contributing

Contributions are welcome. See CONTRIBUTING.md for implementation and testing guidelines. Before opening a PR, run:

cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test -p datafusion-spark
cargo test -p datafusion-spark-sqllogictest

License

Licensed under the Apache License, Version 2.0.