You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Execute the Substrait plan on different systems (e.g., DuckDB, DataFusion).
Students would then experiment with Calcite's different rules. However, this project idea didn't quite work for the following reasons:
substrait-java does not run optimizations - while in theory this can be enabled, I recall running into some issues.
More critically, at the time of writing, both DuckDB and DataFusion have limited support for executing the Substrait generated by Calcite.
I think people can look directly at Substrait's consumer-testing repo for DataFusion if they want to fix this :) My repo is just a stripped-down rewrite for students.
Describe the bug
This is a report from @lmwnshn
As part of a series of issues that were discovered at CMU while working on DataFusion
Basically they found that DataFusion couldn't run substrait generated by Apache Calcite
Quoting the readme: https://github.com/lmwnshn/15799-s25-project1-remnants/blob/main/README.md
The idea behind this project was to:
Convert SQL to a Substrait plan with Calcite.
Execute the Substrait plan on different systems (e.g., DuckDB, DataFusion).
Students would then experiment with Calcite's different rules. However, this project idea didn't quite work for the following reasons:
substrait-java does not run optimizations - while in theory this can be enabled, I recall running into some issues.
More critically, at the time of writing, both DuckDB and DataFusion have limited support for executing the Substrait generated by Calcite.
To Reproduce
See the code at https://github.com/lmwnshn/15799-s25-project1-remnants
Note I haven't looked at any of this myself so I won't be able to help with specific questionds
Expected behavior
datafusion should work for all the plans
Additional context
No response
The text was updated successfully, but these errors were encountered: