public class TemporalProcessTimeJoinOperator extends BaseTwoInputStreamOperatorWithStateRetention
For temporal TableFunction join (LATERAL TemporalTableFunction(o.proctime)) and temporal table join (FOR SYSTEM_TIME AS OF), they can reuse same processing-time operator implementation, the differences between them are: (1) The temporal TableFunction join only supports single column in primary key but temporal table join supports arbitrary columns in primary key. (2) The temporal TableFunction join only supports inner join, temporal table join supports both inner join and left outer join.
stateCleaningEnabled
chainingStrategy, config, latencyStats, LOG, metrics, output, processingTimeService
Constructor and Description |
---|
TemporalProcessTimeJoinOperator(InternalTypeInfo<RowData> rightType,
GeneratedJoinCondition generatedJoinCondition,
long minRetentionTime,
long maxRetentionTime,
boolean isLeftOuterJoin) |
Modifier and Type | Method and Description |
---|---|
void |
cleanupState(long time)
The method to be called when a cleanup timer fires.
|
void |
close()
This method is called at the very end of the operator's life, both in the case of a
successful completion of the operation, and in the case of a failure and canceling.
|
void |
onEventTime(InternalTimer<Object,VoidNamespace> timer)
Invoked when an event-time timer fires.
|
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 |
processElement1(StreamRecord<RowData> element)
Processes one element that arrived on the first input of this two-input operator.
|
void |
processElement2(StreamRecord<RowData> element)
Processes one element that arrived on the second input of this two-input operator.
|
cleanupLastTimer, onProcessingTime, registerProcessingCleanupTimer
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, processWatermark, 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
processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus1, processWatermarkStatus2
finish, getMetricGroup, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
notifyCheckpointAborted, notifyCheckpointComplete
getCurrentKey, setCurrentKey
hasKeyContext
public TemporalProcessTimeJoinOperator(InternalTypeInfo<RowData> rightType, GeneratedJoinCondition generatedJoinCondition, long minRetentionTime, long maxRetentionTime, boolean isLeftOuterJoin)
public void open() throws Exception
AbstractStreamOperator
The default implementation does nothing.
open
in interface StreamOperator<RowData>
open
in class BaseTwoInputStreamOperatorWithStateRetention
Exception
- An exception in this method causes the operator to fail.public void processElement1(StreamRecord<RowData> element) throws Exception
TwoInputStreamOperator
Exception
public void processElement2(StreamRecord<RowData> element) throws Exception
TwoInputStreamOperator
Exception
public void close() throws Exception
StreamOperator
This method is expected to make a thorough effort to release all resources that the operator has acquired.
NOTE:It can not emit any records! If you need to emit records at the end of
processing, do so in the StreamOperator.finish()
method.
close
in interface StreamOperator<RowData>
close
in class AbstractStreamOperator<RowData>
Exception
public void cleanupState(long time)
cleanupState
in class BaseTwoInputStreamOperatorWithStateRetention
time
- The timestamp of the fired timer.public void onEventTime(InternalTimer<Object,VoidNamespace> timer) throws Exception
Exception
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.