andygrove opened a new issue, #684:
URL: https://github.com/apache/arrow-ballista/issues/684

   **Is your feature request related to a problem or challenge? Please describe 
what you are trying to do.**
   When the executor receives a task, it deserializes the physical plan, wraps 
it in a `ShuffleWriterExec`, and executes it with DataFusion.
   
   I want the ability to override this behavior to execute the plan in 
execution engines other than DataFusion.
   
   **Describe the solution you'd like**
   In the executor, we call `new_shuffle_writer` to create the 
`ShuffleWriterExec` that wraps the plan to be executed. I am thinking about 
moving that method into a new `ExecuionEngine` trait and creating a 
`DataFusionExecutor` implementation of the trait that is used by default.
   
   We can then add a field to `ExecutorProcessConfig` as follows:
   
   ```rust
   execution_engine: Option<Arc<dyn ExecutionEngine>>
   ```
   
   This will allow me to register custom execution engines from PyBallista, and 
execute distributed queries in Polars, Pandas, and cuDF.
   
   **Describe alternatives you've considered**
   None
   
   **Additional context**
   None
   


-- 
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]

Reply via email to