-
Notifications
You must be signed in to change notification settings - Fork 390
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[VL] Use partial companion functions for distinct aggregation #4112
Conversation
Thanks for opening a pull request! Could you open an issue for this pull request on Github Issues? https://github.com/oap-project/gluten/issues Then could you also rename commit message and pull request title in the following format?
See also: |
super.modeToKeyWord(if (mixedPartialAndMerge) { | ||
Partial | ||
} else { | ||
aggregateMode match { | ||
case PartialMerge => Final | ||
case _ => aggregateMode | ||
} | ||
}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use Final
for all aggregate modes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
===== Performance report for TPCH SF2000 with Velox backend, for reference only ====
|
What changes were proposed in this pull request?
Flush of intermediate aggregation needs to be disabled if it is used for distinct computing. But disabling flushing is tricky because doing so will require enabling spilling. In this PR, we use partial companion functions instead to make sure that final aggregation returns "intermediate" results.
oap-project/velox#465
How was this patch tested?
Verfied on Jenkins.