Uh oh!
There was an error while loading. Please reload this page.
[SPARK-12978][SQL] Merge unnecessary partial aggregates - #15945
Conversation
SparkQA
commented
Nov 20, 2016
Test build #68901 has finished for PR 15945 at commit
|
maropu
commented
Nov 21, 2016
@hvanhovell@cloud-fan I think this target might be 2.2.0, so could you check this after 2.1 is cut. Thanks! |
maropu
commented
Jan 12, 2017
@hvanhovell@cloud-fan Could you check this? Thanks! |
There was a problem hiding this comment.
How about we add a PhysicalOptimizer to do these things? then we can simply write lazy val executedPlan: SparkPlan = physicalOptimizer.execute(sparkPlan)) instead of lazy val executedPlan: SparkPlan = prepareForExecution(sparkPlan)
There was a problem hiding this comment.
Aha, good idea, so I try to do so.
SparkQA
commented
Jan 12, 2017
Test build #71262 has finished for PR 15945 at commit
|
SparkQA
commented
Jan 12, 2017
Test build #71264 has finished for PR 15945 at commit
|
0a12a4f to
30e7258CompareSparkQA
commented
Jan 12, 2017
Test build #71265 has finished for PR 15945 at commit
|
SparkQA
commented
Jan 12, 2017
Test build #71267 has finished for PR 15945 at commit
|
maropu
commented
Jan 13, 2017
@cloud-fan How about this fix? |
maropu
commented
Jan 15, 2017
@cloud-fan ping |
There was a problem hiding this comment.
let's think about a better name, it does more than only optimization
There was a problem hiding this comment.
Oh, yea. So, how about PhysicalPlanRewriter?
There was a problem hiding this comment.
shall we put it in SessionState like analyzer and optimizer?
SparkQA
commented
Jan 20, 2017
Test build #71724 has finished for PR 15945 at commit
|
SparkQA
commented
Jan 20, 2017
Test build #71727 has finished for PR 15945 at commit
|
SparkQA
commented
Jan 24, 2017
Test build #71917 has started for PR 15945 at commit |
maropu
commented
Jan 24, 2017
Jenkins, retest this please. |
SparkQA
commented
Jan 24, 2017
Test build #71926 has finished for PR 15945 at commit
|
SparkQA
commented
Feb 4, 2017
Test build #72351 has finished for PR 15945 at commit
|
SparkQA
commented
Feb 4, 2017
Test build #72355 has finished for PR 15945 at commit
|
SparkQA
commented
Feb 4, 2017
Test build #72357 has finished for PR 15945 at commit
|
maropu
commented
Feb 4, 2017
@cloud-fan ping |
There was a problem hiding this comment.
how about we return an anonymous RuleExecutor[SparkPlan] here? then we don't need to bother the name
There was a problem hiding this comment.
I think, if we use anonymous classes here, it seems we cannot avoid duplicate rule entries in IncrementalExecution: 4f1240d#diff-13a3f1b22cd7c812e433f771d39eec97R103.
I keep looking for other approaches to avoid this though, I would appreciate your more suggestions.
There was a problem hiding this comment.
is it needed? UnaryExecNode already extends SparkPlan
There was a problem hiding this comment.
oh, you're right and this is meaningless. I'll remove this.
There was a problem hiding this comment.
why not outer.getClass == inner.getClass?
SparkQA
commented
Feb 11, 2017
Test build #72738 has finished for PR 15945 at commit
|
SparkQA
commented
Feb 11, 2017
Test build #72739 has finished for PR 15945 at commit
|
8e5d522 to
ea586cfCompareSparkQA
commented
Mar 15, 2017
Test build #74571 has finished for PR 15945 at commit
|
SparkQA
commented
Mar 15, 2017
Test build #74573 has finished for PR 15945 at commit
|
SparkQA
commented
Mar 15, 2017
Test build #74577 has finished for PR 15945 at commit
|
SparkQA
commented
Mar 15, 2017
Test build #74580 has finished for PR 15945 at commit
|
maropu
commented
Jul 18, 2018
I'll close for now. |
What changes were proposed in this pull request?
This pr is to merge unnecessary partial aggregates if the inputs of aggregates satisfy the distribution requirement of these partial aggregates. This pr is rework based on the @cloud-fan 's suggestion in #14909.
How was this patch tested?
Add tests in
PlannerSuiteto check if these partial aggregates are removed by catalyst.