public class CumulativeWindowAssigner extends PanedWindowAssigner<TimeWindow> implements InternalTimeWindowAssigner
WindowAssigner
that windows elements into cumulative windows based on the timestamp of
the elements. Windows are overlap.Modifier | Constructor and Description |
---|---|
protected |
CumulativeWindowAssigner(long maxSize,
long step,
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 CumulativeWindowAssigner |
of(java.time.Duration maxSize,
java.time.Duration step)
Creates a new
CumulativeWindowAssigner that assigns elements to cumulative time
windows based on the element timestamp. |
Iterable<TimeWindow> |
splitIntoPanes(TimeWindow window)
Splits the given window into panes collection.
|
String |
toString() |
CumulativeWindowAssigner |
withEventTime() |
CumulativeWindowAssigner |
withOffset(java.time.Duration offset) |
CumulativeWindowAssigner |
withProcessingTime() |
open
protected CumulativeWindowAssigner(long maxSize, long step, 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 CumulativeWindowAssigner of(java.time.Duration maxSize, java.time.Duration step)
CumulativeWindowAssigner
that assigns elements to cumulative time
windows based on the element timestamp.maxSize
- The max size of the generated windows.step
- The step interval for window size to increase of the generated windows.public CumulativeWindowAssigner withOffset(java.time.Duration offset)
public CumulativeWindowAssigner withEventTime()
withEventTime
in interface InternalTimeWindowAssigner
public CumulativeWindowAssigner withProcessingTime()
withProcessingTime
in interface InternalTimeWindowAssigner
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.