Package org.apache.flink.table.functions
Class ImperativeAggregateFunction<T,ACC>
- java.lang.Object
-
- org.apache.flink.table.functions.UserDefinedFunction
-
- org.apache.flink.table.functions.ImperativeAggregateFunction<T,ACC>
-
- Type Parameters:
T
- final result type of the aggregationACC
- intermediate result type during the aggregation
- All Implemented Interfaces:
Serializable
,FunctionDefinition
- Direct Known Subclasses:
AggregateFunction
,TableAggregateFunction
@PublicEvolving public abstract class ImperativeAggregateFunction<T,ACC> extends UserDefinedFunction
Base class for user-definedAggregateFunction
andTableAggregateFunction
.This class is used for unified handling of imperative aggregating functions. Concrete implementations should extend from
AggregateFunction
orTableAggregateFunction
.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ImperativeAggregateFunction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description abstract ACC
createAccumulator()
Creates and initializes the accumulator for thisImperativeAggregateFunction
.TypeInformation<ACC>
getAccumulatorType()
Deprecated.This method uses the old type system and is based on the old reflective extraction logic.TypeInformation<T>
getResultType()
Deprecated.This method uses the old type system and is based on the old reflective extraction logic.-
Methods inherited from class org.apache.flink.table.functions.UserDefinedFunction
close, functionIdentifier, getTypeInference, 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
getKind, getRequirements, isDeterministic, supportsConstantFolding
-
-
-
-
Method Detail
-
createAccumulator
public abstract ACC createAccumulator()
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.
- Returns:
- the accumulator with the initial value
-
getResultType
@Deprecated public TypeInformation<T> getResultType()
Deprecated.This method uses the old type system and is based on the old reflective extraction logic. The method will be removed in future versions and is only called when using the deprecatedTableEnvironment.registerFunction(...)
method. The new reflective extraction logic (possibly enriched withDataTypeHint
andFunctionHint
) should be powerful enough to cover most use cases. For advanced users, it is possible to overrideUserDefinedFunction.getTypeInference(DataTypeFactory)
.Returns theTypeInformation
of theImperativeAggregateFunction
's result.- Returns:
- The
TypeInformation
of theImperativeAggregateFunction
's result ornull
if the result type should be automatically inferred.
-
getAccumulatorType
@Deprecated public TypeInformation<ACC> getAccumulatorType()
Deprecated.This method uses the old type system and is based on the old reflective extraction logic. The method will be removed in future versions and is only called when using the deprecatedTableEnvironment.registerFunction(...)
method. The new reflective extraction logic (possibly enriched withDataTypeHint
andFunctionHint
) should be powerful enough to cover most use cases. For advanced users, it is possible to overrideUserDefinedFunction.getTypeInference(DataTypeFactory)
.Returns theTypeInformation
of theImperativeAggregateFunction
's accumulator.- Returns:
- The
TypeInformation
of theImperativeAggregateFunction
's accumulator ornull
if the accumulator type should be automatically inferred.
-
-