Class ListAggWithRetractAggFunction
- 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<StringData,ListAggWithRetractAggFunction.ListAggWithRetractAccumulator>
-
- org.apache.flink.table.runtime.functions.aggregate.ListAggWithRetractAggFunction
-
- All Implemented Interfaces:
Serializable
,FunctionDefinition
@Internal public final class ListAggWithRetractAggFunction extends BuiltInAggregateFunction<StringData,ListAggWithRetractAggFunction.ListAggWithRetractAccumulator>
Built-in LISTAGG with retraction aggregate function.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ListAggWithRetractAggFunction.ListAggWithRetractAccumulator
Accumulator for LISTAGG with retraction.
-
Constructor Summary
Constructors Constructor Description ListAggWithRetractAggFunction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accumulate(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc, StringData value)
ListAggWithRetractAggFunction.ListAggWithRetractAccumulator
createAccumulator()
Creates and initializes the accumulator for thisImperativeAggregateFunction
.DataType
getAccumulatorDataType()
List<DataType>
getArgumentDataTypes()
DataType
getOutputDataType()
StringData
getValue(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc)
Called every time when an aggregation result should be materialized.void
merge(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc, Iterable<ListAggWithRetractAggFunction.ListAggWithRetractAccumulator> its)
void
resetAccumulator(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc)
void
retract(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc, StringData 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
-
-
-
-
Method Detail
-
getAccumulatorDataType
public DataType getAccumulatorDataType()
-
getOutputDataType
public DataType getOutputDataType()
-
createAccumulator
public ListAggWithRetractAggFunction.ListAggWithRetractAccumulator 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<StringData,ListAggWithRetractAggFunction.ListAggWithRetractAccumulator>
- Returns:
- the accumulator with the initial value
-
accumulate
public void accumulate(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc, StringData value) throws Exception
- Throws:
Exception
-
retract
public void retract(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc, StringData value) throws Exception
- Throws:
Exception
-
merge
public void merge(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc, Iterable<ListAggWithRetractAggFunction.ListAggWithRetractAccumulator> its) throws Exception
- Throws:
Exception
-
getValue
public StringData getValue(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc)
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<StringData,ListAggWithRetractAggFunction.ListAggWithRetractAccumulator>
- Parameters:
acc
- the accumulator which contains the current intermediate results- Returns:
- the aggregation result
-
resetAccumulator
public void resetAccumulator(ListAggWithRetractAggFunction.ListAggWithRetractAccumulator acc)
-
-