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
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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 } |
| Method | Description |
|---|---|
|
Used exclusively when a |
|
spark技术分享