apache / datafusion-comet

Apache DataFusion Comet Spark Accelerator
https://datafusion.apache.org/comet
Apache License 2.0
646 stars 119 forks source link

Join support #12

Open viirya opened 4 months ago

viirya commented 4 months ago

This is an umbrella ticket for adding Join support to Comet. In Spark, there are basically three types of Join operators: BroadcastJoin, HashJoin, SortMergeJoin. In DataFusion, two Join operators are supported: HashJoin, SortMergeJoin (experimental).

We are going to delegate Spark Join operators to correspond DataFusion Join operators. We will also go to improve DataFusion Join operators if needed.

SortMergeJoin

HashJoin

BroadcastJoin

Other Join operators (Cross Join)

mwiewior commented 4 months ago

Hey @viirya - it's really awesome ! Do you happen to know when approx these BHJ and shuffle components will be open sourced?

viirya commented 4 months ago

Hi @mwiewior

I will open source shuffle components soon. For join support, it is in development now. We already have working code but get some test failure on Spark tests. Once these test failures are resolved, we will open source it.

viirya commented 4 months ago

For shuffle, we just remove it from the initial open source code. So the code is ready, we only need to add it back to Comet.

mwiewior commented 4 months ago

Great news ! Thx !