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.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–2021 The Apache Software Foundation. All rights reserved.