package org.apache.spark.sql.catalyst.expressions.aggregate
abstract class ImperativeAggregate {
def initialize(mutableAggBuffer: InternalRow): Unit
val inputAggBufferOffset: Int
def merge(mutableAggBuffer: InternalRow, inputAggBuffer: InternalRow): Unit
val mutableAggBufferOffset: Int
def update(mutableAggBuffer: InternalRow, inputRow: InternalRow): Unit
def withNewInputAggBufferOffset(newInputAggBufferOffset: Int): ImperativeAggregate
def withNewMutableAggBufferOffset(newMutableAggBufferOffset: Int): ImperativeAggregate
}
ImperativeAggregate — Contract for Aggregate Function Expressions with Imperative Methods
ImperativeAggregate
is the contract for aggregate functions that are expressed in terms of imperative initialize, update, and merge methods (that operate on Row
-based aggregation buffers).
ImperativeAggregate
is a Catalyst expression with CodegenFallback.
Name | Description |
---|---|
|
|
|
|
ImperativeAggregate Contract
Method | Description |
---|---|
Used when:
|
|
Used when:
|
|
Used when:
|
|