Interface AsyncStateSlicingWindowProcessor<W>
- All Superinterfaces:
AsyncStateWindowProcessor<W>,Serializable,WindowProcessor<W,AsyncStateWindowProcessor.AsyncStateContext<W>>
- All Known Implementing Classes:
AbstractAsyncStateSliceWindowAggProcessor,AsyncStateSliceSharedWindowAggProcessor,AsyncStateSliceUnsharedWindowAggProcessor
The
AsyncStateSlicingWindowProcessor 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 AsyncStateSlicingWindowProcessor have different implementation for aggregate and
topk or others.
The AsyncStateSlicingWindowProcessor usually leverages the SliceAssigner to
assign slices and calculate based on the slices. See SliceSharedSyncStateWindowAggProcessor as an example.
Note: since AsyncStateSlicingWindowProcessor leverages slicing optimization for
aligned windows, therefore, it doesn't support unaligned windows, e.g. session window.
Similar with SlicingSyncStateWindowProcessor, this processor is used for async state
api.
See more details in WindowAggOperator.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.flink.table.runtime.operators.window.async.tvf.common.AsyncStateWindowProcessor
AsyncStateWindowProcessor.AsyncStateContext<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.async.tvf.common.AsyncStateWindowProcessor
advanceProgress, clearWindow, fireWindow, prepareCheckpoint, processElementMethods inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.WindowProcessor
close, createWindowSerializer, initializeWatermark, open