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

    Modifier and Type
    Method
    Description
    void
    accumulate(org.apache.flink.table.data.RowData input)
    Accumulates the input values to the accumulators.
    void
    Cleanup for the retired accumulators state.
    void
    Tear-down method for this function.
    org.apache.flink.table.data.RowData
    Initializes the accumulators and save them to a accumulators row.
    org.apache.flink.table.data.RowData
    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
    Initialization method for the function.
    void
    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 Details

    • open

      void open(StateDataViewStore store) throws Exception
      Initialization method for the function. It is called before the actual working methods.
      Throws:
      Exception
    • 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