Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
None
Description
andygrove implemented what I would describe as a "limit pushdown" optimization within Limit here: https://github.com/apache/arrow/pull/7958#discussion_r470175966
However, it was implemented by directly instantiating Partition objects during plan execution. This "pick the top N from each partition and then pick the top N from the merged result" is an example of operator pushdown that could be done at planning time
This ticket tracks the work to add some way to represent the in the planning stage, rather than execution, in order to open up more optimization opportunities.
One example of pushdown that could potentially happen at planning time would be pushing the limit down past Projections for example.
Attachments
Issue Links
- duplicates
-
ARROW-9758 [Rust] [DataFusion] Implement extension API for DataFusion
- Resolved
- is related to
-
ARROW-9464 [Rust] [DataFusion] Physical plan refactor to support optimization rules and more efficient use of threads
- Closed