You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/12/12 09:28:46 UTC

[GitHub] [arrow-datafusion] mingmwang commented on a diff in pull request #4586: Add a trait DataExchangeExecutionPlan to indicate whether an execution plan needs a data exchange

mingmwang commented on code in PR #4586:
URL: https://github.com/apache/arrow-datafusion/pull/4586#discussion_r1045582422


##########
datafusion/core/src/physical_plan/mod.rs:
##########
@@ -580,6 +580,14 @@ impl Distribution {
     }
 }
 
+/// A trait indicated the related execution plan needs a data exchange, which will be very helpful
+/// especially for the distributed engine to judge whether need to deal with shuffling.
+/// Currently there are 3 kinds of execution plan which needs data exchange
+///     1. RepartitionExec for changing the partition number between two operators
+///     2. CoalescePartitionsExec for collapsing all of the partitions into one without ordering guarantee
+///     3. SortPreservingMergeExec for collapsing all of the sorted partitions into one with ordering guarantee
+pub trait DataExchangeExecutionPlan: ExecutionPlan {}
+

Review Comment:
   👍



-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org