public class UnsliceWindowAggProcessor extends AbstractWindowAggProcessor<TimeWindow> implements UnslicingWindowProcessor<TimeWindow>
UnsliceAssigner
, e.g.
session windows.AbstractWindowAggProcessor.WindowIsEmptySupplier
WindowProcessor.Context<W>
Modifier and Type | Field and Description |
---|---|
protected MergingWindowProcessFunction<RowData,TimeWindow> |
windowFunction |
accSerializer, aggregator, clockService, ctx, currentProgress, emptySupplier, genAggsHandler, isEventTime, reuseOutput, shiftTimeZone, useDayLightSaving, windowState, windowTimerService
Constructor and Description |
---|
UnsliceWindowAggProcessor(GeneratedNamespaceAggsHandleFunction<TimeWindow> genAggsHandler,
UnsliceAssigner<TimeWindow> unsliceAssigner,
TypeSerializer<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,
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.
|
close, collect, initializeWatermark
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close, initializeWatermark
protected transient MergingWindowProcessFunction<RowData,TimeWindow> windowFunction
public UnsliceWindowAggProcessor(GeneratedNamespaceAggsHandleFunction<TimeWindow> genAggsHandler, UnsliceAssigner<TimeWindow> unsliceAssigner, TypeSerializer<RowData> accSerializer, int indexOfCountStar, java.time.ZoneId shiftTimeZone)
public void open(WindowProcessor.Context<TimeWindow> context) throws Exception
WindowProcessor
open
in interface WindowProcessor<TimeWindow>
open
in class AbstractWindowAggProcessor<TimeWindow>
Exception
public boolean processElement(RowData key, RowData element) throws Exception
WindowProcessor
processElement
in interface WindowProcessor<TimeWindow>
key
- the key associated with the elementelement
- The element to process.Exception
public void fireWindow(long timerTimestamp, TimeWindow window) throws Exception
WindowProcessor
Note: the key context has been set.
fireWindow
in interface WindowProcessor<TimeWindow>
timerTimestamp
- the fired timestampwindow
- the window to emitException
public void clearWindow(long timerTimestamp, TimeWindow window) throws Exception
WindowProcessor
Note: the key context has been set.
clearWindow
in interface WindowProcessor<TimeWindow>
timerTimestamp
- the fired timestampwindow
- the window to clearException
public void advanceProgress(long progress) throws Exception
WindowProcessor
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.
advanceProgress
in interface WindowProcessor<TimeWindow>
progress
- the current progress timeException
public void prepareCheckpoint() throws Exception
WindowProcessor
prepareCheckpoint
in interface WindowProcessor<TimeWindow>
Exception
public TypeSerializer<TimeWindow> createWindowSerializer()
WindowProcessor
createWindowSerializer
in interface WindowProcessor<TimeWindow>
protected WindowTimerService<TimeWindow> getWindowTimerService()
getWindowTimerService
in class AbstractWindowAggProcessor<TimeWindow>
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.