Interface SlicingSyncStateWindowProcessor<W>
-
- All Superinterfaces:
Serializable,SyncStateWindowProcessor<W>,WindowProcessor<W,SyncStateWindowProcessor.SyncStateContext<W>>
- All Known Implementing Classes:
AbstractSliceSyncStateWindowAggProcessor,RowTimeSyncStateWindowDeduplicateProcessor,SliceSharedSyncStateWindowAggProcessor,SliceUnsharedSyncStateWindowAggProcessor,SyncStateWindowRankProcessor
@Internal public interface SlicingSyncStateWindowProcessor<W> extends SyncStateWindowProcessor<W>
TheSlicingSyncStateWindowProcessoris 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
SlicingSyncStateWindowProcessorhave different implementation for aggregate and topk or others.The
SlicingSyncStateWindowProcessorusually leverages theSliceAssignerto assign slices and calculate based on the slices. SeeSliceSharedSyncStateWindowAggProcessoras an example.Note: since
SlicingSyncStateWindowProcessorleverages 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, processElement
-
Methods inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.WindowProcessor
close, createWindowSerializer, initializeWatermark, open
-
-