Interface AggsHandleFunctionBase

  • All Superinterfaces:
    org.apache.flink.api.common.functions.Function, Serializable
    All Known Subinterfaces:
    AggsHandleFunction, TableAggsHandleFunction

    public interface AggsHandleFunctionBase
    extends org.apache.flink.api.common.functions.Function
    The base class for handling aggregate or table aggregate functions.

    It is code generated to handle all AggregateFunctions and TableAggregateFunctions together in an aggregation.

    It is the entry point for aggregate operators to operate all AggregateFunctions and TableAggregateFunctions.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void accumulate​(org.apache.flink.table.data.RowData input)
      Accumulates the input values to the accumulators.
      void cleanup()
      Cleanup for the retired accumulators state.
      void close()
      Tear-down method for this function.
      org.apache.flink.table.data.RowData createAccumulators()
      Initializes the accumulators and save them to a accumulators row.
      org.apache.flink.table.data.RowData getAccumulators()
      Gets the current accumulators (saved in a row) which contains the current aggregated results.
      void merge​(org.apache.flink.table.data.RowData accumulators)
      Merges the other accumulators into current accumulators.
      void open​(StateDataViewStore store)
      Initialization method for the function.
      void resetAccumulators()
      Resets all the accumulators.
      void retract​(org.apache.flink.table.data.RowData input)
      Retracts the input values from the accumulators.
      void setAccumulators​(org.apache.flink.table.data.RowData accumulators)
      Set the current accumulators (saved in a row) which contains the current aggregated results.
    • Method Detail

      • accumulate

        void accumulate​(org.apache.flink.table.data.RowData input)
                 throws Exception
        Accumulates the input values to the accumulators.
        Parameters:
        input - input values bundled in a row
        Throws:
        Exception
      • retract

        void retract​(org.apache.flink.table.data.RowData input)
              throws Exception
        Retracts the input values from the accumulators.
        Parameters:
        input - input values bundled in a row
        Throws:
        Exception
      • merge

        void merge​(org.apache.flink.table.data.RowData accumulators)
            throws Exception
        Merges the other accumulators into current accumulators.
        Parameters:
        accumulators - The other row of accumulators
        Throws:
        Exception
      • setAccumulators

        void setAccumulators​(org.apache.flink.table.data.RowData accumulators)
                      throws Exception
        Set the current accumulators (saved in a row) which contains the current aggregated results. In streaming: accumulators are store in the state, we need to restore aggregate buffers from state. In batch: accumulators are store in the hashMap, we need to restore aggregate buffers from hashMap.
        Parameters:
        accumulators - current accumulators
        Throws:
        Exception
      • resetAccumulators

        void resetAccumulators()
                        throws Exception
        Resets all the accumulators.
        Throws:
        Exception
      • getAccumulators

        org.apache.flink.table.data.RowData getAccumulators()
                                                     throws Exception
        Gets the current accumulators (saved in a row) which contains the current aggregated results.
        Returns:
        the current accumulators
        Throws:
        Exception
      • createAccumulators

        org.apache.flink.table.data.RowData createAccumulators()
                                                        throws Exception
        Initializes the accumulators and save them to a accumulators row.
        Returns:
        a row of accumulators which contains the aggregated results
        Throws:
        Exception
      • cleanup

        void cleanup()
              throws Exception
        Cleanup for the retired accumulators state.
        Throws:
        Exception
      • close

        void close()
            throws Exception
        Tear-down method for this function. It can be used for clean up work. By default, this method does nothing.
        Throws:
        Exception