zhztheplayer commented on issue #5350:
URL: 
https://github.com/apache/incubator-gluten/issues/5350#issuecomment-2046553137

   > (Unresolved) Handling BroadcastHashJoin's BroadcastExchange is tricky. If 
the child of the pre-project is a BroadcastExchange, it needs to implement the 
doExecuteBroadcast method. If it eventually transforms into a 
ProjectExecTransformer, we can simply add doExecuteBroadcast = 
child.doExecuteBroadcast to ProjectExecTransformer. However, if 
enableColumnarProject is set to false, this Project will ultimately become a 
Spark ProjectExec, which does not have a doExecuteBroadcast method, making it 
impossible to insert the pre-ProjectExec into the parent of the 
BroadcastExchange.
   
   I can think of a possible path to solve this by adding another transition to 
convert from vanilla broadcast exchange to normal rows ?
   
   Then we should have another Gluten BHJ implementation that accepts regular 
columnar input, like to convert
   
   ```
   Vanilla BHJ
   |- Vanilla Scan
   \- Vanilla BE
   ```
   
   to 
   
   ```
   Gluten BHJ
   |- Gluten Scan
   \- R2C
       \- Project
           \- Broadcast to Row
               \- Vanilla BE
   ```
   
   Probably we should do more tricks in physical planning phase to achieve this.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to