substrait
substrait copied to clipboard
Questions about exchangeKind of ExchangeRel
I am trying to add support in Isthmus for converting Apache Calcite LogicalExchange
, as what I described in https://github.com/substrait-io/substrait-java/issues/153. But I run into some problems about how to map the types of exchange from Calcite to Substrait.
In Apache Calcite, there are 6 types of exchange:
- BROADCAST_DISTRIBUTED;
- HASH_DISTRIBUTED;
- RANDOM_DISTRIBUTED;
- RANGE_DISTRIBUTED;
- ROUND_ROBIN_DISTRIBUTED;
- SINGLETON;
In Substrait, there are 5 types of exchange:
- Scatter;
- Single Bucket;
- Multi Bucket;
- Broadcast;
- Round Robin;
So my questions are:
- What are single and multi bucket exchanges in Substrait? What are the corresponding exchange types in Calcite?
- Is hash distributed exchange in Calcite corresponding to the scatter exchange in Substrait?
Thanks in advance!