Class SliceAssigners.TumblingSliceAssigner

java.lang.Object
org.apache.flink.table.runtime.operators.window.tvf.slicing.SliceAssigners.TumblingSliceAssigner
All Implemented Interfaces:
Serializable, WindowAssigner, SliceAssigner, SliceUnsharedAssigner
Enclosing class:
SliceAssigners

public static final class SliceAssigners.TumblingSliceAssigner extends Object implements SliceUnsharedAssigner
The SliceAssigner for tumbling windows.
See Also:
  • Field Details

    • rowtimeIndex

      protected final int rowtimeIndex
    • isEventTime

      protected final boolean isEventTime
    • shiftTimeZone

      protected final ZoneId shiftTimeZone
  • Method Details

    • withOffset

      public SliceAssigners.TumblingSliceAssigner withOffset(Duration offset)
      Creates a new SliceAssigners.TumblingSliceAssigner with a new specified offset.
    • assignSliceEnd

      public long assignSliceEnd(long timestamp)
    • getLastWindowEnd

      public long getLastWindowEnd(long sliceEnd)
      Description copied from interface: SliceAssigner
      Returns the last window which the slice belongs to. The window and slices are both identified by the end timestamp.
      Specified by:
      getLastWindowEnd in interface SliceAssigner
    • getWindowStart

      public long getWindowStart(long windowEnd)
      Description copied from interface: SliceAssigner
      Returns the corresponding window start timestamp of the given window end timestamp.
      Specified by:
      getWindowStart in interface SliceAssigner
    • expiredSlices

      public Iterable<Long> expiredSlices(long windowEnd)
      Description copied from interface: SliceAssigner
      Returns an iterator of slices to expire when the given window is emitted. The window and slices are both identified by the end timestamp.
      Specified by:
      expiredSlices in interface SliceAssigner
      Parameters:
      windowEnd - the end timestamp of window emitted.
    • getSliceEndInterval

      public long getSliceEndInterval()
      Description copied from interface: SliceAssigner
      Returns the interval of slice ends, i.e. the step size to advance of the slice end when a new slice assigned.
      Specified by:
      getSliceEndInterval in interface SliceAssigner
    • getDescription

      public String getDescription()
      Description copied from interface: WindowAssigner
      Returns a description of this window assigner.
      Specified by:
      getDescription in interface WindowAssigner
    • assignSliceEnd

      public final long assignSliceEnd(org.apache.flink.table.data.RowData element, ClockService clock)
      Description copied from interface: SliceAssigner
      Returns the end timestamp of a slice that the given element should belong.
      Specified by:
      assignSliceEnd in interface SliceAssigner
      Parameters:
      element - the element to which slice should belong to.
      clock - the service to get current processing time.
    • isEventTime

      public final boolean isEventTime()
      Description copied from interface: WindowAssigner
      Returns true if elements are assigned to windows based on event time, false based on processing time.
      Specified by:
      isEventTime in interface WindowAssigner