Class HeapWindowsGrouping
java.lang.Object
org.apache.flink.table.runtime.operators.window.grouping.WindowsGrouping
org.apache.flink.table.runtime.operators.window.grouping.HeapWindowsGrouping
- All Implemented Interfaces:
Closeable,AutoCloseable
A jvm heap implementation of
WindowsGrouping, which uses a linked list to buffer all the
inputs of a keyed group belonging to the same window. It is designed to have a capacity limit to
avoid JVM OOM and reduce GC pauses.-
Constructor Summary
ConstructorsConstructorDescriptionHeapWindowsGrouping(int maxSizeLimit, long windowSize, long slideSize, int timeIndex, boolean isDate) HeapWindowsGrouping(int maxSizeLimit, long offset, long windowSize, long slideSize, int timeIndex, boolean isDate) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddIntoBuffer(org.apache.flink.table.data.binary.BinaryRowData input) voidclose()protected RowIterator<org.apache.flink.table.data.binary.BinaryRowData>newBufferIterator(int startIndex) protected voidonBufferEvict(int limitIndex) protected voidMethods inherited from class org.apache.flink.table.runtime.operators.window.grouping.WindowsGrouping
addInputToBuffer, advanceWatermarkToTriggerAllWindows, buildTriggerWindowElementsIterator, getTriggerWindow, hasTriggerWindow, reset
-
Constructor Details
-
HeapWindowsGrouping
public HeapWindowsGrouping(int maxSizeLimit, long windowSize, long slideSize, int timeIndex, boolean isDate) -
HeapWindowsGrouping
public HeapWindowsGrouping(int maxSizeLimit, long offset, long windowSize, long slideSize, int timeIndex, boolean isDate)
-
-
Method Details
-
resetBuffer
protected void resetBuffer()- Specified by:
resetBufferin classWindowsGrouping
-
onBufferEvict
protected void onBufferEvict(int limitIndex) - Specified by:
onBufferEvictin classWindowsGrouping
-
addIntoBuffer
protected void addIntoBuffer(org.apache.flink.table.data.binary.BinaryRowData input) throws IOException - Specified by:
addIntoBufferin classWindowsGrouping- Throws:
IOException
-
newBufferIterator
protected RowIterator<org.apache.flink.table.data.binary.BinaryRowData> newBufferIterator(int startIndex) - Specified by:
newBufferIteratorin classWindowsGrouping
-
close
- Throws:
IOException
-