Uh oh!
There was an error while loading. Please reload this page.
showcase, DO NOT MERGE - #14876
Conversation
cloud-fan
commented
Aug 30, 2016
SparkQA
commented
Aug 30, 2016
Test build #64660 has finished for PR 14876 at commit
|
maropu
commented
Aug 30, 2016
Thank you for your concrete example! I'll check in hours. |
| // Normal partial aggregate pair | ||
| case outer @ HashAggregateExec(_, _, _, _, _, _, inner: HashAggregateExec) | ||
| if outer.aggregateExpressions.forall(_.mode == Final) && | ||
| inner.aggregateExpressions.forall(_.mode == Partial) => |
There was a problem hiding this comment.
I think we need to have more strict conditions to make sure these two operators are for the same group by clause (Although I do not have a case showing this will break, it is better to list the condition in a more specific way).
maropu
commented
Aug 31, 2016
I found that we need to push-down partial aggregation below exchange operators instead of merging them? For example, in the spark v2.0 branch, This prints like: In this case, I think it is more natural to push-down the partial aggregation below the exchange. |
maropu
commented
Aug 31, 2016
On the other hand, when caching the already-partitioned input table, we cannot push-down them; ISTM all we can do is merge the aggregations into one in this case. |
cloud-fan
commented
Aug 31, 2016
yea, pushing down partial aggregate below exchange is a good idea, but I think it's out of the scope of SPARK-12978, which is aim to remove unnecessary partial aggregate right? |
maropu
commented
Aug 31, 2016
yea, I thinks so. I like the approach in this pr. |
cloud-fan
commented
Sep 1, 2016
closing, @maropu will take over |
## What changes were proposed in this pull request? according to the discussion in the original PR #10896 and the new approach PR #14876 , we decided to revert these 2 PRs and go with the new approach. ## How was this patch tested? N/A Author: Wenchen Fan <wenchen@databricks.com> Closes#14909 from cloud-fan/revert.
What changes were proposed in this pull request?
this is another approach to fix SPARK-12978, which was done in #10896
How was this patch tested?
new test in PlannerSuite