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(org.apache.flink.table.data.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.
|
org.apache.flink.api.common.typeutils.TypeSerializer<TimeWindow> |
getWindowSerializer(org.apache.flink.api.common.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() |
openprotected CumulativeWindowAssigner(long maxSize,
long step,
long offset,
boolean isEventTime)
public Collection<TimeWindow> assignWindows(org.apache.flink.table.data.RowData element, long timestamp)
WindowAssignerassignWindows 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)
PanedWindowAssignerassignPane 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)
PanedWindowAssignersplitIntoPanes in class PanedWindowAssigner<TimeWindow>window - the window to be split.public TimeWindow getLastWindow(TimeWindow pane)
PanedWindowAssignergetLastWindow in class PanedWindowAssigner<TimeWindow>public org.apache.flink.api.common.typeutils.TypeSerializer<TimeWindow> getWindowSerializer(org.apache.flink.api.common.ExecutionConfig executionConfig)
WindowAssignerTypeSerializer for serializing windows that are assigned by this WindowAssigner.getWindowSerializer in class WindowAssigner<TimeWindow>public boolean isEventTime()
WindowAssignertrue 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 InternalTimeWindowAssignerpublic CumulativeWindowAssigner withProcessingTime()
withProcessingTime in interface InternalTimeWindowAssignerCopyright © 2014–2022 The Apache Software Foundation. All rights reserved.