Class GroupAggFunction

  • All Implemented Interfaces:
    Serializable, org.apache.flink.api.common.functions.Function, org.apache.flink.api.common.functions.RichFunction

    public class GroupAggFunction
    extends GroupAggFunctionBase
    Aggregate Function used for the groupby (without window) aggregate.
    See Also:
    Serialized Form
    • Constructor Detail

      • GroupAggFunction

        public GroupAggFunction​(GeneratedAggsHandleFunction genAggsHandler,
                                GeneratedRecordEqualiser genRecordEqualiser,
                                org.apache.flink.table.types.logical.LogicalType[] accTypes,
                                int indexOfCountStar,
                                boolean generateUpdateBefore,
                                long stateRetentionTime)
        Creates a GroupAggFunction.
        Parameters:
        genAggsHandler - The code generated function used to handle aggregates.
        genRecordEqualiser - The code generated equaliser used to equal RowData.
        accTypes - The accumulator types.
        indexOfCountStar - The index of COUNT(*) in the aggregates. -1 when the input doesn't contain COUNT(*), i.e. doesn't contain retraction messages. We make sure there is a COUNT(*) if input stream contains retraction.
        generateUpdateBefore - Whether this operator will generate UPDATE_BEFORE messages.
        stateRetentionTime - state idle retention time which unit is MILLISECONDS.
    • Method Detail

      • open

        public void open​(org.apache.flink.api.common.functions.OpenContext openContext)
                  throws Exception
        Specified by:
        open in interface org.apache.flink.api.common.functions.RichFunction
        Overrides:
        open in class GroupAggFunctionBase
        Throws:
        Exception
      • processElement

        public void processElement​(org.apache.flink.table.data.RowData input,
                                   org.apache.flink.streaming.api.functions.KeyedProcessFunction.Context ctx,
                                   org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
                            throws Exception
        Specified by:
        processElement in class org.apache.flink.streaming.api.functions.KeyedProcessFunction<org.apache.flink.table.data.RowData,​org.apache.flink.table.data.RowData,​org.apache.flink.table.data.RowData>
        Throws:
        Exception