Class AggregateWindowOperator<K,W extends Window>
- java.lang.Object
-
- org.apache.flink.streaming.api.operators.AbstractStreamOperator<RowData>
-
- org.apache.flink.table.runtime.operators.window.groupwindow.operator.WindowOperator<K,W>
-
- org.apache.flink.table.runtime.operators.window.groupwindow.operator.AggregateWindowOperator<K,W>
-
- Type Parameters:
K
- The type of key returned by theKeySelector
.W
- The type ofWindow
that theWindowAssigner
assigns.
- All Implemented Interfaces:
Serializable
,CheckpointListener
,Input<RowData>
,KeyContext
,KeyContextHandler
,OneInputStreamOperator<RowData,RowData>
,StreamOperator<RowData>
,StreamOperatorStateHandler.CheckpointedStreamOperator
,Triggerable<K,W>
,YieldingOperator<RowData>
public class AggregateWindowOperator<K,W extends Window> extends WindowOperator<K,W>
AWindowOperator
for grouped window aggregates.When an element arrives it gets assigned a key using a
KeySelector
and it gets assigned to zero or more windows using aGroupWindowAssigner
. Based on this, the element is put into panes. A pane is the bucket of elements that have the same key and sameWindow
. An element can be in multiple panes if it was assigned to multiple windows by theWindowAssigner
.Each pane gets its own instance of the provided
Trigger
. This trigger determines when the contents of the pane should be processed to emit results. When a trigger fires, the givenNamespaceAggsHandleFunction.getValue(Object)
is invoked to produce the results that are emitted for the pane to which theTrigger
belongs.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected RecordEqualiser
equaliser
The util to compare two RowData equals to each other.-
Fields inherited from class org.apache.flink.table.runtime.operators.window.groupwindow.operator.WindowOperator
collector, previousState, produceUpdates, recordCounter, shiftTimeZone, windowAggregator, windowFunction
-
Fields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
combinedWatermark, config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
compileGeneratedCode()
protected void
emitWindowResult(W window)
Emits the window result of the given window.void
open()
This method is called immediately before any elements are processed, it should contain the operator's initialization logic, e.g. state initialization.-
Methods inherited from class org.apache.flink.table.runtime.operators.window.groupwindow.operator.WindowOperator
close, getNumLateRecordsDropped, getWatermarkLatency, onEventTime, onProcessingTime, processElement, useSplittableTimers
-
Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
finish, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getStateKeySelector1, getStateKeySelector2, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, initializeState, isAsyncStateProcessingEnabled, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, snapshotState
-
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.api.common.state.CheckpointListener
notifyCheckpointAborted, notifyCheckpointComplete
-
Methods inherited from interface org.apache.flink.streaming.api.operators.Input
processLatencyMarker, processRecordAttributes, processWatermark, processWatermarkStatus
-
Methods inherited from interface org.apache.flink.streaming.api.operators.KeyContext
getCurrentKey, setCurrentKey
-
Methods inherited from interface org.apache.flink.streaming.api.operators.KeyContextHandler
hasKeyContext
-
Methods inherited from interface org.apache.flink.streaming.api.operators.OneInputStreamOperator
setKeyContextElement
-
Methods inherited from interface org.apache.flink.streaming.api.operators.StreamOperator
finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
-
-
-
-
Field Detail
-
equaliser
protected RecordEqualiser equaliser
The util to compare two RowData equals to each other. As different RowData can't be equals directly, we use a code generated util to handle this.
-
-
Method Detail
-
open
public void open() throws Exception
Description copied from class:AbstractStreamOperator
This method is called immediately before any elements are processed, it should contain the operator's initialization logic, e.g. state initialization.The default implementation does nothing.
- Specified by:
open
in interfaceStreamOperator<K>
- Overrides:
open
in classWindowOperator<K,W extends Window>
- Throws:
Exception
- An exception in this method causes the operator to fail.
-
compileGeneratedCode
protected void compileGeneratedCode()
- Specified by:
compileGeneratedCode
in classWindowOperator<K,W extends Window>
-
emitWindowResult
protected void emitWindowResult(W window) throws Exception
Description copied from class:WindowOperator
Emits the window result of the given window.- Specified by:
emitWindowResult
in classWindowOperator<K,W extends Window>
- Throws:
Exception
-
-