java.lang.Object
org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W>
Type Parameters:
W - The type of Window that this assigner assigns.
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CountSlidingWindowAssigner, CountTumblingWindowAssigner, MergingWindowAssigner, PanedWindowAssigner, TumblingWindowAssigner

public abstract class GroupWindowAssigner<W extends Window> extends Object implements Serializable
A GroupWindowAssigner assigns zero or more Windows to an element.

In a window operation, elements are grouped by their key (if available) and by the windows to which it was assigned. The set of elements with the same key and window is called a pane. When a Trigger decides that a certain pane should fire the window to produce output elements for that pane.

The differences between GroupWindowAssigner and WindowAssigner is that, this window assigner is translated from the legacy GROUP WINDOW FUNCTION syntax, but the other is from the new window TVF syntax. In the long future, GroupWindowAssigner will be dropped.

See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract Collection<W>
    assignWindows(org.apache.flink.table.data.RowData element, long timestamp)
    Given the timestamp and element, returns the set of windows into which it should be placed.
    abstract org.apache.flink.api.common.typeutils.TypeSerializer<W>
    getWindowSerializer(org.apache.flink.api.common.ExecutionConfig executionConfig)
    Returns a TypeSerializer for serializing windows that are assigned by this WindowAssigner.
    abstract boolean
    Returns true if elements are assigned to windows based on event time, false otherwise.
    void
    Initialization method for the function.
    abstract String
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • GroupWindowAssigner

      public GroupWindowAssigner()
  • Method Details

    • open

      public void open(InternalWindowProcessFunction.Context<?,W> ctx) throws Exception
      Initialization method for the function. It is called before the actual working methods.
      Throws:
      Exception
    • assignWindows

      public abstract Collection<W> assignWindows(org.apache.flink.table.data.RowData element, long timestamp) throws IOException
      Given the timestamp and element, returns the set of windows into which it should be placed.
      Parameters:
      element - The element to which windows should be assigned.
      timestamp - The timestamp of the element when isEventTime() returns true, or the current system time when isEventTime() returns false. The timestamp value is mapping to UTC milliseconds for splitting windows simply.
      Throws:
      IOException
    • getWindowSerializer

      public abstract org.apache.flink.api.common.typeutils.TypeSerializer<W> getWindowSerializer(org.apache.flink.api.common.ExecutionConfig executionConfig)
      Returns a TypeSerializer for serializing windows that are assigned by this WindowAssigner.
    • isEventTime

      public abstract boolean isEventTime()
      Returns true if elements are assigned to windows based on event time, false otherwise.
    • toString

      public abstract String toString()
      Overrides:
      toString in class Object