package org.apache.spark.sql.catalyst.expressions.aggregate
abstract class TypedImperativeAggregate[T] extends ImperativeAggregate {
def createAggregationBuffer(): T
def deserialize(storageFormat: Array[Byte]): T
def eval(buffer: T): Any
def merge(buffer: T, input: T): T
def serialize(buffer: T): Array[Byte]
def update(buffer: T, input: InternalRow): T
}
TypedImperativeAggregate — Contract for Imperative Aggregate Functions with Custom Aggregation Buffer
TypedImperativeAggregate
is the contract for imperative aggregation functions that allows for an arbitrary user-defined java object to be used as internal aggregation buffer.
ImperativeAggregate Method | Description |
---|---|
Creates an aggregation buffer and puts it at mutableAggBufferOffset position in the input |
|
Name | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
TypedImperativeAggregate Contract
Method | Description |
---|---|
Used exclusively when a |
|