Allow export of algebra to Substrait binary format
- Dominant language
- C++
- Stars
- 2.6k
- Forks
- 260
- PR merge metrics
- No merged PRs in 30d
Description
It would be great to explore exposing a zetasql algebra representation in [Substrait](https://substrait.io/) algebra format.
For reference, there is the following current work underway wrt Substrait
There is current work around Substrait to support the following conversions:
- [Ibis to/from Substrait](https://github.com/ibis-project/ibis-substrait) producer/consumer
- [Calcite to Substrait](https://github.com/substrait-io/substrait/pull/120)
- [Spark to Substrait](https://github.com/oap-project/gazelle-jni/tree/velox_dev)
- [Substrait to Facebook Velox](https://github.com/facebookincubator/velox/tree/main/velox/substrait)
- [Substrait to/from DuckDB](https://github.com/duckdblabs/duckdb-substrait-demo)
- [Substrait to Arrow C++](https://github.com/apache/arrow/pull/12279)
- [Substrait to Datafusion](https://github.com/datafusion-contrib/datafusion-substrait)
If we exposed Zetasql with substrait, those plans could be executed in Velox, DuckDB, Arrow C++ and Datafusion.
For reference, here is a [Substrait Google slides overview](https://docs.google.com/presentation/d/1H89iwnnmHZ2oMgGpFon9Rv_fJ60RWE0c9drHCZAL8Bw/edit?usp=sharing).
Contributor guide
Assessment
This issue has not been assessed yet.