@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, processElement
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.