Class AsyncStateSliceSharedWindowAggProcessor
java.lang.Object
org.apache.flink.table.runtime.operators.aggregate.window.processors.WindowAggProcessorBase<W,AsyncStateWindowProcessor.AsyncStateContext<W>>
org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateWindowAggProcessor<Long>
org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateSliceWindowAggProcessor
org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AsyncStateSliceSharedWindowAggProcessor
- All Implemented Interfaces:
Serializable,AsyncMergeCallback<Long,,Iterable<Long>> AsyncStateWindowProcessor<Long>,AsyncStateSlicingWindowProcessor<Long>,WindowProcessor<Long,AsyncStateWindowProcessor.AsyncStateContext<Long>>
public final class AsyncStateSliceSharedWindowAggProcessor
extends AbstractAsyncStateSliceWindowAggProcessor
implements AsyncMergeCallback<Long,Iterable<Long>>
A window aggregate processor implementation which works for
SliceSharedAssigner with
async state api, e.g. hopping windows and cumulative windows.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateWindowAggProcessor
AbstractAsyncStateWindowAggProcessor.WindowIsEmptyCheckerNested 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> -
Field Summary
Fields inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateSliceWindowAggProcessor
sliceAssigner, windowBuffer, windowBufferFactory, windowIntervalFields inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateWindowAggProcessor
emptyChecker, windowStateFields inherited from class org.apache.flink.table.runtime.operators.aggregate.window.processors.WindowAggProcessorBase
accSerializer, aggregator, clockService, ctx, currentProgress, genAggsHandler, isEventTime, reuseOutput, shiftTimeZone, useDayLightSaving, windowTimerService -
Constructor Summary
ConstructorsConstructorDescriptionAsyncStateSliceSharedWindowAggProcessor(GeneratedNamespaceAggsHandleFunction<Long> genAggsHandler, AsyncStateWindowBuffer.Factory bufferFactory, SliceSharedAssigner sliceAssigner, org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.RowData> accSerializer, int indexOfCountStar, ZoneId shiftTimeZone) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.flink.api.common.state.v2.StateFuture<org.apache.flink.api.java.tuple.Tuple2<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>> asyncMerge(Long mergeResult, Iterable<Long> toBeMerged, Long resultNamespace) Specifies that states of the given windows or slices should be merged into the result window or slice.org.apache.flink.api.common.state.v2.StateFuture<Void>fireWindow(long timerTimestamp, Long windowEnd) Emit results of the given window.protected org.apache.flink.api.common.state.v2.StateFuture<Long>sliceStateMergeTarget(long sliceToMerge) Returns the slice state target to merge the given slice into when firing windows.Methods inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateSliceWindowAggProcessor
advanceProgress, clearWindow, close, createWindowSerializer, getWindowTimerService, open, prepareCheckpoint, processElementMethods inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateWindowAggProcessor
prepareAggregatorMethods inherited from class org.apache.flink.table.runtime.operators.aggregate.window.processors.WindowAggProcessorBase
collect, initializeWatermarkMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.WindowProcessor
initializeWatermark
-
Constructor Details
-
Method Details
-
fireWindow
public org.apache.flink.api.common.state.v2.StateFuture<Void> fireWindow(long timerTimestamp, Long windowEnd) throws Exception Description copied from interface:AsyncStateWindowProcessorEmit results of the given window.Note: the key context has been set.
- Specified by:
fireWindowin interfaceAsyncStateWindowProcessor<Long>- Parameters:
timerTimestamp- the fired timestampwindowEnd- the window to emit- Throws:
Exception
-
asyncMerge
public org.apache.flink.api.common.state.v2.StateFuture<org.apache.flink.api.java.tuple.Tuple2<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>> asyncMerge(@Nullable Long mergeResult, Iterable<Long> toBeMerged, Long resultNamespace) throws Exception Description copied from interface:AsyncMergeCallbackSpecifies that states of the given windows or slices should be merged into the result window or slice.- Specified by:
asyncMergein interfaceAsyncMergeCallback<Long,Iterable<Long>> - Parameters:
mergeResult- The resulting merged window or slice,nullif it represents a non-state namespace.toBeMerged- Windows or slices that should be merged into one window or slice.resultNamespace- The window or slice used as namespace to get the result from the merged accumulator.- Returns:
- f0 is the accumulators after merging, f1 is the result of the aggregation from the merged accumulators with this slice end as namespace
- Throws:
Exception
-
sliceStateMergeTarget
protected org.apache.flink.api.common.state.v2.StateFuture<Long> sliceStateMergeTarget(long sliceToMerge) throws Exception Description copied from class:AbstractAsyncStateSliceWindowAggProcessorReturns the slice state target to merge the given slice into when firing windows. For unshared windows, there should no merging happens, so the merge target should be just the givensliceToMerge. For shared windows, the merge target should be the shared slice state.- Specified by:
sliceStateMergeTargetin classAbstractAsyncStateSliceWindowAggProcessor- Throws:
Exception- See Also:
-