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 forSliceSharedAssignerwith async state api, e.g. hopping windows and cumulative windows.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateWindowAggProcessor
AbstractAsyncStateWindowAggProcessor.WindowIsEmptyChecker
-
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>
-
-
Field Summary
-
Fields inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateSliceWindowAggProcessor
sliceAssigner, windowBuffer, windowBufferFactory, windowInterval
-
Fields inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateWindowAggProcessor
emptyChecker, windowState
-
Fields 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
Constructors Constructor Description AsyncStateSliceSharedWindowAggProcessor(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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(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, processElement
-
Methods inherited from class org.apache.flink.table.runtime.operators.aggregate.asyncwindow.processors.AbstractAsyncStateWindowAggProcessor
prepareAggregator
-
Methods inherited from class org.apache.flink.table.runtime.operators.aggregate.window.processors.WindowAggProcessorBase
collect, initializeWatermark
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.WindowProcessor
initializeWatermark
-
-
-
-
Constructor Detail
-
AsyncStateSliceSharedWindowAggProcessor
public AsyncStateSliceSharedWindowAggProcessor(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 Detail
-
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 ExceptionDescription 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:
SliceSharedAssigner.mergeSlices(long, MergeCallback)
-
-