Class UnsliceWindowAggProcessor
- java.lang.Object
-
- org.apache.flink.table.runtime.operators.aggregate.window.processors.AbstractWindowAggProcessor<TimeWindow>
-
- org.apache.flink.table.runtime.operators.aggregate.window.processors.UnsliceWindowAggProcessor
-
- All Implemented Interfaces:
Serializable
,WindowProcessor<TimeWindow>
,UnslicingWindowProcessor<TimeWindow>
public class UnsliceWindowAggProcessor extends AbstractWindowAggProcessor<TimeWindow> implements UnslicingWindowProcessor<TimeWindow>
An window aggregate processor implementation which works forUnsliceAssigner
, e.g. session windows.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.flink.table.runtime.operators.aggregate.window.processors.AbstractWindowAggProcessor
AbstractWindowAggProcessor.WindowIsEmptySupplier
-
Nested classes/interfaces inherited from interface org.apache.flink.table.runtime.operators.window.tvf.common.WindowProcessor
WindowProcessor.Context<W>
-
-
Field Summary
Fields Modifier and Type Field Description protected MergingWindowProcessFunction<RowData,TimeWindow>
windowFunction
-
Fields inherited from class org.apache.flink.table.runtime.operators.aggregate.window.processors.AbstractWindowAggProcessor
accSerializer, aggregator, clockService, ctx, currentProgress, emptySupplier, genAggsHandler, isEventTime, reuseOutput, shiftTimeZone, useDayLightSaving, windowState, windowTimerService
-
-
Constructor Summary
Constructors Constructor Description UnsliceWindowAggProcessor(GeneratedNamespaceAggsHandleFunction<TimeWindow> genAggsHandler, UnsliceAssigner<TimeWindow> unsliceAssigner, TypeSerializer<RowData> accSerializer, int indexOfCountStar, ZoneId shiftTimeZone)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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, TimeWindow window)
Clear state and resources associated with the given window namespace.TypeSerializer<TimeWindow>
createWindowSerializer()
Returns the serializer of the window type.void
fireWindow(long timerTimestamp, TimeWindow window)
Emit results of the given window.protected WindowTimerService<TimeWindow>
getWindowTimerService()
void
open(WindowProcessor.Context<TimeWindow> context)
Initialization method for the function.void
prepareCheckpoint()
Performs a preparation before checkpoint.boolean
processElement(RowData key, RowData element)
Process an element with associated key from the input stream.-
Methods inherited from class org.apache.flink.table.runtime.operators.aggregate.window.processors.AbstractWindowAggProcessor
close, 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
close, initializeWatermark
-
-
-
-
Field Detail
-
windowFunction
protected transient MergingWindowProcessFunction<RowData,TimeWindow> windowFunction
-
-
Constructor Detail
-
UnsliceWindowAggProcessor
public UnsliceWindowAggProcessor(GeneratedNamespaceAggsHandleFunction<TimeWindow> genAggsHandler, UnsliceAssigner<TimeWindow> unsliceAssigner, TypeSerializer<RowData> accSerializer, int indexOfCountStar, ZoneId shiftTimeZone)
-
-
Method Detail
-
open
public void open(WindowProcessor.Context<TimeWindow> context) throws Exception
Description copied from interface:WindowProcessor
Initialization method for the function. It is called before the actual working methods.- Specified by:
open
in interfaceWindowProcessor<TimeWindow>
- Overrides:
open
in classAbstractWindowAggProcessor<TimeWindow>
- Throws:
Exception
-
processElement
public boolean processElement(RowData key, RowData element) throws Exception
Description copied from interface:WindowProcessor
Process an element with associated key from the input stream. Returns true if this element is dropped because of late arrival.- Specified by:
processElement
in interfaceWindowProcessor<TimeWindow>
- Parameters:
key
- the key associated with the elementelement
- The element to process.- Throws:
Exception
-
fireWindow
public void fireWindow(long timerTimestamp, TimeWindow window) throws Exception
Description copied from interface:WindowProcessor
Emit results of the given window.Note: the key context has been set.
- Specified by:
fireWindow
in interfaceWindowProcessor<TimeWindow>
- Parameters:
timerTimestamp
- the fired timestampwindow
- the window to emit- Throws:
Exception
-
clearWindow
public void clearWindow(long timerTimestamp, TimeWindow window) throws Exception
Description copied from interface:WindowProcessor
Clear state and resources associated with the given window namespace.Note: the key context has been set.
- Specified by:
clearWindow
in interfaceWindowProcessor<TimeWindow>
- Parameters:
timerTimestamp
- the fired timestampwindow
- the window to clear- Throws:
Exception
-
advanceProgress
public void advanceProgress(long progress) throws Exception
Description copied from interface:WindowProcessor
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.This 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.
- Specified by:
advanceProgress
in interfaceWindowProcessor<TimeWindow>
- Parameters:
progress
- the current progress time- Throws:
Exception
-
prepareCheckpoint
public void prepareCheckpoint() throws Exception
Description copied from interface:WindowProcessor
Performs a preparation before checkpoint. This usually flushes buffered data into state.- Specified by:
prepareCheckpoint
in interfaceWindowProcessor<TimeWindow>
- Throws:
Exception
-
createWindowSerializer
public TypeSerializer<TimeWindow> createWindowSerializer()
Description copied from interface:WindowProcessor
Returns the serializer of the window type.- Specified by:
createWindowSerializer
in interfaceWindowProcessor<TimeWindow>
-
getWindowTimerService
protected WindowTimerService<TimeWindow> getWindowTimerService()
- Specified by:
getWindowTimerService
in classAbstractWindowAggProcessor<TimeWindow>
-
-