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:
|
|