google / google/googlesql

Allow export of algebra to Substrait binary format

Open
#97 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.