public class SlidingWindowAssigner extends PanedWindowAssigner<TimeWindow> implements InternalTimeWindowAssigner
WindowAssigner
that windows elements into sliding windows based on the timestamp of the
elements. Windows can possibly overlap.Modifier | Constructor and Description |
---|---|
protected |
SlidingWindowAssigner(long size,
long slide,
long offset,
boolean isEventTime) |
Modifier and Type | Method and Description |
---|---|
TimeWindow |
assignPane(Object element,
long timestamp)
Given the timestamp and element, returns the pane into which it should be placed.
|
Collection<TimeWindow> |
assignWindows(RowData element,
long timestamp)
Given the timestamp and element, returns the set of windows into which it should be placed.
|
TimeWindow |
getLastWindow(TimeWindow pane)
Gets the last window which the pane belongs to.
|
TypeSerializer<TimeWindow> |
getWindowSerializer(ExecutionConfig executionConfig)
Returns a
TypeSerializer for serializing windows that are assigned by this WindowAssigner . |
boolean |
isEventTime()
Returns
true if elements are assigned to windows based on event time, false
otherwise. |
static SlidingWindowAssigner |
of(java.time.Duration size,
java.time.Duration slide)
Creates a new
SlidingEventTimeWindows WindowAssigner that assigns elements to
sliding time windows based on the element timestamp. |
Iterable<TimeWindow> |
splitIntoPanes(TimeWindow window)
Splits the given window into panes collection.
|
String |
toString() |
SlidingWindowAssigner |
withEventTime() |
SlidingWindowAssigner |
withOffset(java.time.Duration offset) |
SlidingWindowAssigner |
withProcessingTime() |
open
protected SlidingWindowAssigner(long size, long slide, long offset, boolean isEventTime)
public Collection<TimeWindow> assignWindows(RowData element, long timestamp)
WindowAssigner
assignWindows
in class WindowAssigner<TimeWindow>
element
- The element to which windows should be assigned.timestamp
- The timestamp of the element when WindowAssigner.isEventTime()
returns true, or
the current system time when WindowAssigner.isEventTime()
returns false. The timestamp value is
mapping to UTC milliseconds for splitting windows simply.public TimeWindow assignPane(Object element, long timestamp)
PanedWindowAssigner
assignPane
in class PanedWindowAssigner<TimeWindow>
element
- The element to which windows should be assigned.timestamp
- The timestamp of the element when WindowAssigner.isEventTime()
returns true, or
the current system time when WindowAssigner.isEventTime()
returns false.public Iterable<TimeWindow> splitIntoPanes(TimeWindow window)
PanedWindowAssigner
splitIntoPanes
in class PanedWindowAssigner<TimeWindow>
window
- the window to be split.public TimeWindow getLastWindow(TimeWindow pane)
PanedWindowAssigner
getLastWindow
in class PanedWindowAssigner<TimeWindow>
public TypeSerializer<TimeWindow> getWindowSerializer(ExecutionConfig executionConfig)
WindowAssigner
TypeSerializer
for serializing windows that are assigned by this WindowAssigner
.getWindowSerializer
in class WindowAssigner<TimeWindow>
public boolean isEventTime()
WindowAssigner
true
if elements are assigned to windows based on event time, false
otherwise.isEventTime
in class WindowAssigner<TimeWindow>
public String toString()
toString
in class WindowAssigner<TimeWindow>
public static SlidingWindowAssigner of(java.time.Duration size, java.time.Duration slide)
SlidingEventTimeWindows
WindowAssigner
that assigns elements to
sliding time windows based on the element timestamp.size
- The size of the generated windows.slide
- The slide interval of the generated windows.public SlidingWindowAssigner withOffset(java.time.Duration offset)
public SlidingWindowAssigner withEventTime()
withEventTime
in interface InternalTimeWindowAssigner
public SlidingWindowAssigner withProcessingTime()
withProcessingTime
in interface InternalTimeWindowAssigner
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.