Interface SlicingSyncStateWindowProcessor<W>
- All Superinterfaces:
Serializable,SyncStateWindowProcessor<W>,WindowProcessor<W,SyncStateWindowProcessor.SyncStateContext<W>>
- All Known Implementing Classes:
AbstractSliceSyncStateWindowAggProcessor,RowTimeSyncStateWindowDeduplicateProcessor,SliceSharedSyncStateWindowAggProcessor,SliceUnsharedSyncStateWindowAggProcessor,SyncStateWindowRankProcessor
The
SlicingSyncStateWindowProcessor 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).
Concept of Slice
Dividing a window of aligned windows into a finite number of non-overlapping chunks, where the chunks are slices. It has the following properties:
- An element must only belong to a single slice.
- Slices are non-overlapping, i.e. S_i and S_j should not have any shared elements if i != j.
- A window is consist of a finite number of slices.
The SlicingSyncStateWindowProcessor have different implementation for aggregate and
topk or others.
The SlicingSyncStateWindowProcessor usually leverages the SliceAssigner to
assign slices and calculate based on the slices. See SliceSharedSyncStateWindowAggProcessor as an example.
Note: since SlicingSyncStateWindowProcessor leverages slicing optimization for aligned
windows, therefore, it doesn't support unaligned windows, e.g. session window.
See more details in WindowAggOperator.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.SyncStateWindowProcessor
SyncStateWindowProcessor.SyncStateContext<W>Nested classes/interfaces inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.WindowProcessor
WindowProcessor.Context<W> -
Method Summary
Methods inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.SyncStateWindowProcessor
advanceProgress, clearWindow, fireWindow, prepareCheckpoint, processElementMethods inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.WindowProcessor
close, createWindowSerializer, initializeWatermark, open