Class JsonObjectAggFunction
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<String,JsonObjectAggFunction.Accumulator>
org.apache.flink.table.runtime.functions.aggregate.JsonObjectAggFunction
- All Implemented Interfaces:
Serializable,org.apache.flink.table.functions.FunctionDefinition
@Internal
public class JsonObjectAggFunction
extends BuiltInAggregateFunction<String,JsonObjectAggFunction.Accumulator>
Implementation for
BuiltInFunctionDefinitions.JSON_OBJECTAGG_NULL_ON_NULL / BuiltInFunctionDefinitions.JSON_OBJECTAGG_ABSENT_ON_NULL.
Note that this function only ever receives strings to accumulate because
WrapJsonAggFunctionArgumentsRule wraps arguments into BuiltInFunctionDefinitions.JSON_STRING.
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionJsonObjectAggFunction(org.apache.flink.table.types.logical.LogicalType[] argumentTypes, boolean skipNulls) -
Method Summary
Modifier and TypeMethodDescriptionvoidaccumulate(JsonObjectAggFunction.Accumulator acc, org.apache.flink.table.data.StringData keyData, org.apache.flink.table.data.StringData valueData) org.apache.flink.table.types.DataTypeList<org.apache.flink.table.types.DataType>org.apache.flink.table.types.DataTypevoidvoidvoidretract(JsonObjectAggFunction.Accumulator acc, org.apache.flink.table.data.StringData keyData, org.apache.flink.table.data.StringData valueData) Methods inherited from class org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
getRequirements, getTypeInference, isDeterministicMethods inherited from class org.apache.flink.table.functions.AggregateFunction
getKindMethods inherited from class org.apache.flink.table.functions.ImperativeAggregateFunction
getAccumulatorType, getResultTypeMethods inherited from class org.apache.flink.table.functions.UserDefinedFunction
close, functionIdentifier, open, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.flink.table.functions.FunctionDefinition
supportsConstantFolding
-
Constructor Details
-
JsonObjectAggFunction
public JsonObjectAggFunction(org.apache.flink.table.types.logical.LogicalType[] argumentTypes, boolean skipNulls)
-
-
Method Details
-
getArgumentDataTypes
- Overrides:
getArgumentDataTypesin classBuiltInAggregateFunction<String,JsonObjectAggFunction.Accumulator>
-
getOutputDataType
public org.apache.flink.table.types.DataType getOutputDataType()- Overrides:
getOutputDataTypein classBuiltInAggregateFunction<String,JsonObjectAggFunction.Accumulator>
-
getAccumulatorDataType
public org.apache.flink.table.types.DataType getAccumulatorDataType()- Overrides:
getAccumulatorDataTypein classBuiltInAggregateFunction<String,JsonObjectAggFunction.Accumulator>
-
createAccumulator
- Specified by:
createAccumulatorin classorg.apache.flink.table.functions.ImperativeAggregateFunction<String,JsonObjectAggFunction.Accumulator>
-
resetAccumulator
-
accumulate
public void accumulate(JsonObjectAggFunction.Accumulator acc, org.apache.flink.table.data.StringData keyData, @Nullable org.apache.flink.table.data.StringData valueData) throws Exception - Throws:
Exception
-
retract
public void retract(JsonObjectAggFunction.Accumulator acc, org.apache.flink.table.data.StringData keyData, @Nullable org.apache.flink.table.data.StringData valueData) throws Exception - Throws:
Exception
-
merge
public void merge(JsonObjectAggFunction.Accumulator acc, Iterable<JsonObjectAggFunction.Accumulator> others) throws Exception - Throws:
Exception
-
getValue
- Specified by:
getValuein classorg.apache.flink.table.functions.AggregateFunction<String,JsonObjectAggFunction.Accumulator>
-