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 forBuiltInFunctionDefinitions.JSON_OBJECTAGG_NULL_ON_NULL/BuiltInFunctionDefinitions.JSON_OBJECTAGG_ABSENT_ON_NULL.Note that this function only ever receives strings to accumulate because
WrapJsonAggFunctionArgumentsRulewraps arguments intoBuiltInFunctionDefinitions.JSON_STRING.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJsonObjectAggFunction.AccumulatorAccumulator forJsonObjectAggFunction.
-
Constructor Summary
Constructors Constructor Description JsonObjectAggFunction(org.apache.flink.table.types.logical.LogicalType[] argumentTypes, boolean skipNulls)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccumulate(JsonObjectAggFunction.Accumulator acc, org.apache.flink.table.data.StringData keyData, org.apache.flink.table.data.StringData valueData)JsonObjectAggFunction.AccumulatorcreateAccumulator()org.apache.flink.table.types.DataTypegetAccumulatorDataType()List<org.apache.flink.table.types.DataType>getArgumentDataTypes()org.apache.flink.table.types.DataTypegetOutputDataType()StringgetValue(JsonObjectAggFunction.Accumulator acc)voidmerge(JsonObjectAggFunction.Accumulator acc, Iterable<JsonObjectAggFunction.Accumulator> others)voidresetAccumulator(JsonObjectAggFunction.Accumulator acc)voidretract(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, isDeterministic
-
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
-
-
-
-
Method Detail
-
getArgumentDataTypes
public List<org.apache.flink.table.types.DataType> 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
public JsonObjectAggFunction.Accumulator createAccumulator()
- Specified by:
createAccumulatorin classorg.apache.flink.table.functions.ImperativeAggregateFunction<String,JsonObjectAggFunction.Accumulator>
-
resetAccumulator
public void resetAccumulator(JsonObjectAggFunction.Accumulator acc)
-
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
public String getValue(JsonObjectAggFunction.Accumulator acc)
- Specified by:
getValuein classorg.apache.flink.table.functions.AggregateFunction<String,JsonObjectAggFunction.Accumulator>
-
-