Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARK-44340][SQL] Define the computing logic through PartitionEvalua…
…tor API and use it in WindowGroupLimitExec ### What changes were proposed in this pull request? `WindowGroupLimitExec` is updated to use the PartitionEvaluator API to do execution. ### Why are the changes needed? To define the computing logic and requires the caller side to explicitly list what needs to be serialized and sent to executors ### Does this PR introduce _any_ user-facing change? 'No'. Just update the inner implementation. ### How was this patch tested? Test cases updated & running benchmark manually. ``` [info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_311-b11 on Mac OS X 10.16 [info] Intel(R) Core(TM) i7-9750H CPU 2.60GHz [info] Benchmark Top-K: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative [info] ----------------------------------------------------------------------------------------------------------------------------------------------- [info] ROW_NUMBER (PARTITION: , WindowGroupLimit: false) 10622 11266 617 2.0 506.5 1.0X [info] ROW_NUMBER (PARTITION: , WindowGroupLimit: true) 1712 1744 19 12.2 81.6 6.2X [info] ROW_NUMBER (PARTITION: PARTITION BY b, WindowGroupLimit: false) 23679 25107 NaN 0.9 1129.1 0.4X [info] ROW_NUMBER (PARTITION: PARTITION BY b, WindowGroupLimit: true) 6381 6527 95 3.3 304.3 1.7X [info] RANK (PARTITION: , WindowGroupLimit: false) 11492 11631 106 1.8 548.0 0.9X [info] RANK (PARTITION: , WindowGroupLimit: true) 2675 2920 118 7.8 127.5 4.0X [info] RANK (PARTITION: PARTITION BY b, WindowGroupLimit: false) 24208 24299 95 0.9 1154.3 0.4X [info] RANK (PARTITION: PARTITION BY b, WindowGroupLimit: true) 6347 6478 85 3.3 302.6 1.7X [info] DENSE_RANK (PARTITION: , WindowGroupLimit: false) 11288 11959 458 1.9 538.2 0.9X [info] DENSE_RANK (PARTITION: , WindowGroupLimit: true) 2684 2945 144 7.8 128.0 4.0X [info] DENSE_RANK (PARTITION: PARTITION BY b, WindowGroupLimit: false) 24316 25130 711 0.9 1159.5 0.4X [info] DENSE_RANK (PARTITION: PARTITION BY b, WindowGroupLimit: true) 6589 6925 383 3.2 314.2 1.6X ``` Closes #41899 from beliefer/SPARK-44340. Authored-by: Jiaan Geng <[email protected]> Signed-off-by: Wenchen Fan <[email protected]>
- Loading branch information