DeclarativeAggregate Expression-Based Functions¶
DeclarativeAggregate is an extension of the AggregateFunction abstraction for expression-based aggregate functions that use Catalyst Expression for evaluation.
DeclarativeAggregate is an Unevaluable.
Contract¶
Evaluating Expression¶
Catalyst Expression to calculate the final value of this aggregate function
See:
Used when:
EliminateAggregateFilterlogical optimization is executedAggregatingAccumulatoris createdAggregationIteratoris requested for the generateResultProjectionHashAggregateExecphysical operator is requested to doProduceWithoutKeys and generateResultFunctionAggregateProcessoris created
Expressions to Initialize Empty Aggregation Buffers¶
Catalyst Expressions to initialize empty aggregation buffers (for the initial values of this aggregate function)
See:
Used when:
EliminateAggregateFilterlogical optimization is executedAggregatingAccumulatoris createdAggregateCodegenSupportis requested to doProduceWithoutKeysAggregationIteratoris createdHashAggregateExecphysical operator is requested to createHashMap, getEmptyAggregationBufferHashMapGeneratoris createdAggregateProcessoris created
Merge Expressions¶
Catalyst Expressions
See:
Update Expressions¶
Catalyst Expressions to update the mutable aggregation buffer based on an input row
See:
Used when:
AggregateProcessoris createdAggregateCodegenSupportis requested to doConsumeWithoutKeysAggregationIteratoris requested to generateProcessRowAggregatingAccumulatoris createdHashAggregateExecis requested to doConsumeWithKeys
Implementations¶
- AggregateWindowFunction
- First
- others