datafusion-tokomak icon indicating copy to clipboard operation
datafusion-tokomak copied to clipboard

Experimental optimizer for DataFusion

datafusion-tokomak

Experimental pluggable optimizer for DataFusion using graph rewriting.

The goal is to allow experimenting with the Egg library, and experiment with a maintainable and aggresive optimization framework.

The optimizer is WIP.

Usage example:

 let mut ctx = ExecutionContext::with_config(
    ExecutionConfig::new().add_optimizer_rule(Arc::new(Tokomak::new())),
);

ctx.register_csv("example", "tests/example.csv", CsvReadOptions::new())?;

// create a DataFusion dataframe
let df = ctx
    .sql("SELECT price * 0 from example")?;