Class AggregateWindowOperator<K,W extends Window>
- java.lang.Object
-
- org.apache.flink.streaming.api.operators.AbstractStreamOperator<org.apache.flink.table.data.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 ofWindowthat theWindowAssignerassigns.
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.streaming.api.operators.Input<org.apache.flink.table.data.RowData>,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,org.apache.flink.streaming.api.operators.OneInputStreamOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>,org.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>,org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator,org.apache.flink.streaming.api.operators.Triggerable<K,W>,org.apache.flink.streaming.api.operators.YieldingOperator<org.apache.flink.table.data.RowData>
public class AggregateWindowOperator<K,W extends Window> extends WindowOperator<K,W>
AWindowOperatorfor grouped window aggregates.When an element arrives it gets assigned a key using a
KeySelectorand 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 theTriggerbelongs.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected RecordEqualiserequaliserThe 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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcompileGeneratedCode()protected voidemitWindowResult(W window)Emits the window result of the given window.voidopen()-
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
beforeInitializeStateHandler, 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, isAsyncKeyOrderedProcessingEnabled, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark, processWatermark1, processWatermark1, processWatermark2, 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, 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
-
-
-
-
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
-
compileGeneratedCode
protected void compileGeneratedCode()
- Specified by:
compileGeneratedCodein classWindowOperator<K,W extends Window>
-
emitWindowResult
protected void emitWindowResult(W window) throws Exception
Description copied from class:WindowOperatorEmits the window result of the given window.- Specified by:
emitWindowResultin classWindowOperator<K,W extends Window>- Throws:
Exception
-
-