public class HeapWindowsGrouping extends WindowsGrouping
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 and Description |
---|
HeapWindowsGrouping(int maxSizeLimit,
long windowSize,
long slideSize,
int timeIndex,
boolean isDate) |
HeapWindowsGrouping(int maxSizeLimit,
long offset,
long windowSize,
long slideSize,
int timeIndex,
boolean isDate) |
Modifier and Type | Method and Description |
---|---|
protected void |
addIntoBuffer(BinaryRowData input) |
void |
close() |
protected RowIterator<BinaryRowData> |
newBufferIterator(int startIndex) |
protected void |
onBufferEvict(int limitIndex) |
protected void |
resetBuffer() |
addInputToBuffer, advanceWatermarkToTriggerAllWindows, buildTriggerWindowElementsIterator, getTriggerWindow, hasTriggerWindow, reset
public HeapWindowsGrouping(int maxSizeLimit, long windowSize, long slideSize, int timeIndex, boolean isDate)
public HeapWindowsGrouping(int maxSizeLimit, long offset, long windowSize, long slideSize, int timeIndex, boolean isDate)
protected void resetBuffer()
resetBuffer
in class WindowsGrouping
protected void onBufferEvict(int limitIndex)
onBufferEvict
in class WindowsGrouping
protected void addIntoBuffer(BinaryRowData input) throws IOException
addIntoBuffer
in class WindowsGrouping
IOException
protected RowIterator<BinaryRowData> newBufferIterator(int startIndex)
newBufferIterator
in class WindowsGrouping
public void close() throws IOException
IOException
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.