Class SliceAssigners.WindowedSliceAssigner
- java.lang.Object
-
- org.apache.flink.table.runtime.operators.window.tvf.slicing.SliceAssigners.WindowedSliceAssigner
-
- All Implemented Interfaces:
Serializable,WindowAssigner,SliceAssigner,SliceUnsharedAssigner
- Enclosing class:
- SliceAssigners
public static final class SliceAssigners.WindowedSliceAssigner extends Object implements SliceUnsharedAssigner
TheSliceAssignerfor elements have been attached window start and end timestamps.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description WindowedSliceAssigner(int windowEndIndex, SliceAssigner innerAssigner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longassignSliceEnd(org.apache.flink.table.data.RowData element, ClockService clock)Returns the end timestamp of a slice that the given element should belong.Iterable<Long>expiredSlices(long windowEnd)Returns an iterator of slices to expire when the given window is emitted.StringgetDescription()Returns a description of this window assigner.longgetLastWindowEnd(long sliceEnd)Returns the last window which the slice belongs to.longgetSliceEndInterval()Returns the interval of slice ends, i.e. the step size to advance of the slice end when a new slice assigned.longgetWindowStart(long windowEnd)Returns the corresponding window start timestamp of the given window end timestamp.booleanisEventTime()Returnstrueif elements are assigned to windows based on event time,falsebased on processing time.
-
-
-
Constructor Detail
-
WindowedSliceAssigner
public WindowedSliceAssigner(int windowEndIndex, SliceAssigner innerAssigner)
-
-
Method Detail
-
assignSliceEnd
public long assignSliceEnd(org.apache.flink.table.data.RowData element, ClockService clock)Description copied from interface:SliceAssignerReturns the end timestamp of a slice that the given element should belong.- Specified by:
assignSliceEndin interfaceSliceAssigner- Parameters:
element- the element to which slice should belong to.clock- the service to get current processing time.
-
getLastWindowEnd
public long getLastWindowEnd(long sliceEnd)
Description copied from interface:SliceAssignerReturns the last window which the slice belongs to. The window and slices are both identified by the end timestamp.- Specified by:
getLastWindowEndin interfaceSliceAssigner
-
getWindowStart
public long getWindowStart(long windowEnd)
Description copied from interface:SliceAssignerReturns the corresponding window start timestamp of the given window end timestamp.- Specified by:
getWindowStartin interfaceSliceAssigner
-
expiredSlices
public Iterable<Long> expiredSlices(long windowEnd)
Description copied from interface:SliceAssignerReturns 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:
expiredSlicesin interfaceSliceAssigner- Parameters:
windowEnd- the end timestamp of window emitted.
-
getSliceEndInterval
public long getSliceEndInterval()
Description copied from interface:SliceAssignerReturns the interval of slice ends, i.e. the step size to advance of the slice end when a new slice assigned.- Specified by:
getSliceEndIntervalin interfaceSliceAssigner
-
isEventTime
public boolean isEventTime()
Description copied from interface:WindowAssignerReturnstrueif elements are assigned to windows based on event time,falsebased on processing time.- Specified by:
isEventTimein interfaceWindowAssigner
-
getDescription
public String getDescription()
Description copied from interface:WindowAssignerReturns a description of this window assigner.- Specified by:
getDescriptionin interfaceWindowAssigner
-
-