@Internal public interface SlicingWindowProcessor<W> extends WindowProcessor<W>
SlicingWindowProcessor is an optimized processing for aligned windows which can apply
the slicing optimization. The core idea of slicing optimization is to divide all elements from a
data stream into a finite number of non-overlapping chunks (a.k.a. slices).
Dividing a window of aligned windows into a finite number of non-overlapping chunks, where the chunks are slices. It has the following properties:
The SlicingWindowProcessor have different implementation for aggregate and topk or
others.
The SlicingWindowProcessor usually leverages the SliceAssigner to assign
slices and calculate based on the slices. See SliceSharedWindowAggProcessor as an
example.
Note: since SlicingWindowProcessor leverages slicing optimization for aligned windows,
therefore, it doesn't support unaligned windows, e.g. session window.
See more details in WindowAggOperator.
WindowProcessor.Context<W>advanceProgress, clearWindow, close, createWindowSerializer, fireWindow, initializeWatermark, open, prepareCheckpoint, processElementCopyright © 2014–2024 The Apache Software Foundation. All rights reserved.