public class NonBufferOverWindowOperator extends TableStreamOperator<RowData> implements OneInputStreamOperator<RowData,RowData>
Some over windows do not need to buffer data, such as rows between unbounded preceding
and 0
, rank, etc. We introduce NonBufferOverWindowOperator
to reduce the overhead of
data copy in buffer.
NOTE: Use NonBufferOverWindowOperator
only when all frames do not need buffer data.
TableStreamOperator.ContextImpl
ctx, currentWatermark
chainingStrategy, config, latencyStats, LOG, metrics, output, processingTimeService
Constructor and Description |
---|
NonBufferOverWindowOperator(GeneratedAggsHandleFunction[] aggsHandlers,
GeneratedRecordComparator genComparator,
boolean[] resetAccumulators) |
Modifier and Type | Method and Description |
---|---|
void |
open()
This method is called immediately before any elements are processed, it should contain the
operator's initialization logic, e.g. state initialization.
|
void |
processElement(StreamRecord<RowData> element)
Processes one element that arrived on this input of the
MultipleInputStreamOperator . |
computeMemorySize, processWatermark
close, finish, getChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setChainingStrategy, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setProcessingTimeService, setup, snapshotState, snapshotState
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setKeyContextElement
close, finish, getMetricGroup, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
notifyCheckpointAborted, notifyCheckpointComplete
getCurrentKey, setCurrentKey
processLatencyMarker, processWatermark, processWatermarkStatus
hasKeyContext
public NonBufferOverWindowOperator(GeneratedAggsHandleFunction[] aggsHandlers, GeneratedRecordComparator genComparator, boolean[] resetAccumulators)
public void open() throws Exception
AbstractStreamOperator
The default implementation does nothing.
open
in interface StreamOperator<RowData>
open
in class TableStreamOperator<RowData>
Exception
- An exception in this method causes the operator to fail.public void processElement(StreamRecord<RowData> element) throws Exception
Input
MultipleInputStreamOperator
.
This method is guaranteed to not be called concurrently with other methods of the operator.processElement
in interface Input<RowData>
Exception
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.