Support GroupsAccumulator
accumulator for User Defined Functions
#8793
Labels
enhancement
New feature or request
Is your feature request related to a problem or challenge?
Many of DataFusion's built in accumlators use the
GroupsAccumulator
interface for a significant performance improvementSee the blog post for more details
However, it is not currently possible to use [
GroupsAccumulator
] with user defined Aggregate functions , which is less than ideal for 2 reasons:AggregateFunction
Interface (remove built in list ofAggregateFunction
s), improve the system #8708Describe the solution you'd like
I would like to extend the
AggregateUDFImpl
trait added by @guojidan in #8733 with a new method that returns a GroupsAccumulatorAggregateUDFImpl
AggregateExpr
https://github.com/apache/arrow-datafusion/blob/dd58c5a7b0069e3bade997abad9ec6bed8c8a1c3/datafusion/physical-plan/src/udaf.rs#L75advanced_udaf.rs
example to create aGroupsAccumulator
Adding new methods to
AggregateUDFImpl
:Following the model of
PartitionEvaluator
and groups_accumulator_supportedDescribe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: