public abstract class AbstractSliceWindowAggProcessor extends AbstractWindowAggProcessor<Long> implements SlicingWindowProcessor<Long>
SlicingWindowProcessor for window aggregate.AbstractWindowAggProcessor.WindowIsEmptySupplierWindowProcessor.Context<W>| Modifier and Type | Field and Description |
|---|---|
protected SliceAssigner |
sliceAssigner |
protected WindowBuffer |
windowBuffer |
protected WindowBuffer.Factory |
windowBufferFactory |
protected long |
windowInterval |
accSerializer, aggregator, clockService, ctx, currentProgress, emptySupplier, genAggsHandler, isEventTime, reuseOutput, shiftTimeZone, useDayLightSaving, windowState, windowTimerService| Constructor and Description |
|---|
AbstractSliceWindowAggProcessor(GeneratedNamespaceAggsHandleFunction<Long> genAggsHandler,
WindowBuffer.Factory bufferFactory,
SliceAssigner sliceAssigner,
org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.RowData> accSerializer,
int indexOfCountStar,
java.time.ZoneId shiftTimeZone) |
| Modifier and Type | Method and Description |
|---|---|
void |
advanceProgress(long progress)
Advances the progress time, the progress time is watermark if working in event-time mode, or
current processing time if working in processing-time mode.
|
void |
clearWindow(long timerTimestamp,
Long windowEnd)
Clear state and resources associated with the given window namespace.
|
void |
close()
The tear-down method of the function.
|
org.apache.flink.api.common.typeutils.TypeSerializer<Long> |
createWindowSerializer()
Returns the serializer of the window type.
|
protected WindowTimerService<Long> |
getWindowTimerService() |
void |
open(WindowProcessor.Context<Long> context)
Initialization method for the function.
|
void |
prepareCheckpoint()
Performs a preparation before checkpoint.
|
boolean |
processElement(org.apache.flink.table.data.RowData key,
org.apache.flink.table.data.RowData element)
Process an element with associated key from the input stream.
|
protected abstract long |
sliceStateMergeTarget(long sliceToMerge)
Returns the slice state target to merge the given slice into when firing windows.
|
collect, initializeWatermarkclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfireWindow, initializeWatermarkprotected final WindowBuffer.Factory windowBufferFactory
protected final SliceAssigner sliceAssigner
protected final long windowInterval
protected transient WindowBuffer windowBuffer
public AbstractSliceWindowAggProcessor(GeneratedNamespaceAggsHandleFunction<Long> genAggsHandler, WindowBuffer.Factory bufferFactory, SliceAssigner sliceAssigner, org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.RowData> accSerializer, int indexOfCountStar, java.time.ZoneId shiftTimeZone)
public void open(WindowProcessor.Context<Long> context) throws Exception
WindowProcessoropen in interface WindowProcessor<Long>open in class AbstractWindowAggProcessor<Long>Exceptionprotected WindowTimerService<Long> getWindowTimerService()
getWindowTimerService in class AbstractWindowAggProcessor<Long>public boolean processElement(org.apache.flink.table.data.RowData key,
org.apache.flink.table.data.RowData element)
throws Exception
WindowProcessorprocessElement in interface WindowProcessor<Long>key - the key associated with the elementelement - The element to process.Exceptionprotected abstract long sliceStateMergeTarget(long sliceToMerge)
throws Exception
sliceToMerge. For shared windows, the merge target should be the shared slice
state.ExceptionSliceSharedAssigner.mergeSlices(long, MergeCallback)public void advanceProgress(long progress)
throws Exception
WindowProcessorThis will potentially flush buffered data into states, because the watermark advancement may be in a very small step, but we don't need to flush buffered data for every watermark advancement.
advanceProgress in interface WindowProcessor<Long>progress - the current progress timeExceptionpublic void prepareCheckpoint()
throws Exception
WindowProcessorprepareCheckpoint in interface WindowProcessor<Long>Exceptionpublic void clearWindow(long timerTimestamp,
Long windowEnd)
throws Exception
WindowProcessorNote: the key context has been set.
clearWindow in interface WindowProcessor<Long>timerTimestamp - the fired timestampwindowEnd - the window to clearExceptionpublic void close()
throws Exception
WindowProcessorclose in interface WindowProcessor<Long>close in class AbstractWindowAggProcessor<Long>Exceptionpublic org.apache.flink.api.common.typeutils.TypeSerializer<Long> createWindowSerializer()
WindowProcessorcreateWindowSerializer in interface WindowProcessor<Long>Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.