Class StreamingJoinOperator
- java.lang.Object
-
- org.apache.flink.streaming.api.operators.AbstractStreamOperator<RowData>
-
- org.apache.flink.table.runtime.operators.join.stream.AbstractStreamingJoinOperator
-
- org.apache.flink.table.runtime.operators.join.stream.StreamingJoinOperator
-
- All Implemented Interfaces:
Serializable
,CheckpointListener
,KeyContext
,KeyContextHandler
,StreamOperator<RowData>
,StreamOperatorStateHandler.CheckpointedStreamOperator
,TwoInputStreamOperator<RowData,RowData,RowData>
,YieldingOperator<RowData>
- Direct Known Subclasses:
MiniBatchStreamingJoinOperator
public class StreamingJoinOperator extends AbstractStreamingJoinOperator
Streaming unbounded Join operator which supports INNER/LEFT/RIGHT/FULL JOIN.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
leftIsOuter
protected JoinRecordStateView
leftRecordStateView
protected boolean
rightIsOuter
protected JoinRecordStateView
rightRecordStateView
-
Fields inherited from class org.apache.flink.table.runtime.operators.join.stream.AbstractStreamingJoinOperator
collector, joinCondition, LEFT_RECORDS_STATE_NAME, leftInputSideSpec, leftStateRetentionTime, leftType, RIGHT_RECORDS_STATE_NAME, rightInputSideSpec, rightStateRetentionTime, rightType
-
Fields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
combinedWatermark, config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
-
-
Constructor Summary
Constructors Constructor Description StreamingJoinOperator(InternalTypeInfo<RowData> leftType, InternalTypeInfo<RowData> rightType, GeneratedJoinCondition generatedJoinCondition, JoinInputSideSpec leftInputSideSpec, JoinInputSideSpec rightInputSideSpec, boolean leftIsOuter, boolean rightIsOuter, boolean[] filterNullKeys, long leftStateRetentionTime, long rightStateRetentionTime)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.protected void
processElement(RowData input, JoinRecordStateView inputSideStateView, JoinRecordStateView otherSideStateView, boolean inputIsLeft, boolean isSuppress)
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.-
Methods inherited from class org.apache.flink.table.runtime.operators.join.stream.AbstractStreamingJoinOperator
close
-
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, useSplittableTimers
-
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.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.StreamOperator
finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
-
Methods inherited from interface org.apache.flink.streaming.api.operators.TwoInputStreamOperator
processLatencyMarker1, processLatencyMarker2, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark2, processWatermarkStatus1, processWatermarkStatus2
-
-
-
-
Field Detail
-
leftIsOuter
protected final boolean leftIsOuter
-
rightIsOuter
protected final boolean rightIsOuter
-
leftRecordStateView
protected transient JoinRecordStateView leftRecordStateView
-
rightRecordStateView
protected transient JoinRecordStateView rightRecordStateView
-
-
Constructor Detail
-
StreamingJoinOperator
public StreamingJoinOperator(InternalTypeInfo<RowData> leftType, InternalTypeInfo<RowData> rightType, GeneratedJoinCondition generatedJoinCondition, JoinInputSideSpec leftInputSideSpec, JoinInputSideSpec rightInputSideSpec, boolean leftIsOuter, boolean rightIsOuter, boolean[] filterNullKeys, long leftStateRetentionTime, long rightStateRetentionTime)
-
-
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<RowData>
- Overrides:
open
in classAbstractStreamingJoinOperator
- Throws:
Exception
- An exception in this method causes the operator to fail.
-
processElement1
public void processElement1(StreamRecord<RowData> element) throws Exception
Description copied from interface:TwoInputStreamOperator
Processes one element that arrived on the first input of this two-input operator. This method is guaranteed to not be called concurrently with other methods of the operator.- Throws:
Exception
-
processElement2
public void processElement2(StreamRecord<RowData> element) throws Exception
Description copied from interface:TwoInputStreamOperator
Processes one element that arrived on the second input of this two-input operator. This method is guaranteed to not be called concurrently with other methods of the operator.- Throws:
Exception
-
processElement
protected void processElement(RowData input, JoinRecordStateView inputSideStateView, JoinRecordStateView otherSideStateView, boolean inputIsLeft, boolean isSuppress) throws Exception
- Throws:
Exception
-
-