Class CollectAggFunction<T>
- java.lang.Object
-
- org.apache.flink.table.functions.UserDefinedFunction
-
- org.apache.flink.table.functions.ImperativeAggregateFunction<T,ACC>
-
- org.apache.flink.table.functions.AggregateFunction<T,ACC>
-
- org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction<MapData,CollectAggFunction.CollectAccumulator<T>>
-
- org.apache.flink.table.runtime.functions.aggregate.CollectAggFunction<T>
-
- All Implemented Interfaces:
Serializable
,FunctionDefinition
@Internal public final class CollectAggFunction<T> extends BuiltInAggregateFunction<MapData,CollectAggFunction.CollectAccumulator<T>>
Built-in COLLECT aggregate function.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CollectAggFunction.CollectAccumulator<T>
Accumulator for COLLECT.
-
Constructor Summary
Constructors Constructor Description CollectAggFunction(LogicalType elementType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accumulate(CollectAggFunction.CollectAccumulator<T> accumulator, T value)
CollectAggFunction.CollectAccumulator<T>
createAccumulator()
Creates and initializes the accumulator for thisImperativeAggregateFunction
.DataType
getAccumulatorDataType()
List<DataType>
getArgumentDataTypes()
DataType
getOutputDataType()
MapData
getValue(CollectAggFunction.CollectAccumulator<T> accumulator)
Called every time when an aggregation result should be materialized.void
merge(CollectAggFunction.CollectAccumulator<T> accumulator, Iterable<CollectAggFunction.CollectAccumulator<T>> others)
void
resetAccumulator(CollectAggFunction.CollectAccumulator<T> accumulator)
void
retract(CollectAggFunction.CollectAccumulator<T> accumulator, T value)
-
Methods inherited from class org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
getRequirements, getTypeInference, isDeterministic
-
Methods inherited from class org.apache.flink.table.functions.AggregateFunction
getKind
-
Methods inherited from class org.apache.flink.table.functions.ImperativeAggregateFunction
getAccumulatorType, getResultType
-
Methods inherited from class org.apache.flink.table.functions.UserDefinedFunction
close, functionIdentifier, open, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.functions.FunctionDefinition
supportsConstantFolding
-
-
-
-
Constructor Detail
-
CollectAggFunction
public CollectAggFunction(LogicalType elementType)
-
-
Method Detail
-
getArgumentDataTypes
public List<DataType> getArgumentDataTypes()
- Overrides:
getArgumentDataTypes
in classBuiltInAggregateFunction<MapData,CollectAggFunction.CollectAccumulator<T>>
-
getAccumulatorDataType
public DataType getAccumulatorDataType()
- Overrides:
getAccumulatorDataType
in classBuiltInAggregateFunction<MapData,CollectAggFunction.CollectAccumulator<T>>
-
getOutputDataType
public DataType getOutputDataType()
- Overrides:
getOutputDataType
in classBuiltInAggregateFunction<MapData,CollectAggFunction.CollectAccumulator<T>>
-
createAccumulator
public CollectAggFunction.CollectAccumulator<T> createAccumulator()
Description copied from class:ImperativeAggregateFunction
Creates and initializes the accumulator for thisImperativeAggregateFunction
.The accumulator is an intermediate data structure that stores the aggregated values until a final aggregation result is computed.
- Specified by:
createAccumulator
in classImperativeAggregateFunction<MapData,CollectAggFunction.CollectAccumulator<T>>
- Returns:
- the accumulator with the initial value
-
resetAccumulator
public void resetAccumulator(CollectAggFunction.CollectAccumulator<T> accumulator)
-
accumulate
public void accumulate(CollectAggFunction.CollectAccumulator<T> accumulator, T value) throws Exception
- Throws:
Exception
-
retract
public void retract(CollectAggFunction.CollectAccumulator<T> accumulator, T value) throws Exception
- Throws:
Exception
-
merge
public void merge(CollectAggFunction.CollectAccumulator<T> accumulator, Iterable<CollectAggFunction.CollectAccumulator<T>> others) throws Exception
- Throws:
Exception
-
getValue
public MapData getValue(CollectAggFunction.CollectAccumulator<T> accumulator)
Description copied from class:AggregateFunction
Called every time when an aggregation result should be materialized. The returned value could be either an early and incomplete result (periodically emitted as data arrives) or the final result of the aggregation.- Specified by:
getValue
in classAggregateFunction<MapData,CollectAggFunction.CollectAccumulator<T>>
- Parameters:
accumulator
- the accumulator which contains the current intermediate results- Returns:
- the aggregation result
-
-