public abstract class WindowJoinOperator extends TableStreamOperator<RowData> implements TwoInputStreamOperator<RowData,RowData,RowData>, Triggerable<RowData,Long>, KeyContext
Note: currently, WindowJoinOperator
doesn't support early-fire and late-arrival. Thus
late elements (elements belong to emitted windows) will be simply dropped.
Note: currently, WindowJoinOperator
doesn't support DELETE or UPDATE_BEFORE input row.
TableStreamOperator.ContextImpl
Modifier and Type | Field and Description |
---|---|
protected TimestampedCollector<RowData> |
collector
This is used for emitting elements with a given timestamp.
|
protected JoinConditionWithNullFilters |
joinCondition |
protected RowDataSerializer |
leftSerializer |
protected RowDataSerializer |
rightSerializer |
ctx, currentWatermark
chainingStrategy, config, latencyStats, LOG, metrics, output, processingTimeService
Modifier and Type | Method and Description |
---|---|
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.
|
abstract void |
join(Iterable<RowData> leftRecords,
Iterable<RowData> rightRecords) |
void |
onEventTime(InternalTimer<RowData,Long> timer)
Invoked when an event-time timer fires.
|
void |
onProcessingTime(InternalTimer<RowData,Long> timer)
Invoked when a processing-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.
|
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.
|
computeMemorySize, processWatermark
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
processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus1, processWatermarkStatus2
finish, getMetricGroup, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
notifyCheckpointAborted, notifyCheckpointComplete
getCurrentKey, setCurrentKey
hasKeyContext
protected final RowDataSerializer leftSerializer
protected final RowDataSerializer rightSerializer
protected transient JoinConditionWithNullFilters joinCondition
protected transient TimestampedCollector<RowData> collector
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 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 processElement1(StreamRecord<RowData> element) throws Exception
TwoInputStreamOperator
processElement1
in interface TwoInputStreamOperator<RowData,RowData,RowData>
Exception
public void processElement2(StreamRecord<RowData> element) throws Exception
TwoInputStreamOperator
processElement2
in interface TwoInputStreamOperator<RowData,RowData,RowData>
Exception
public void onProcessingTime(InternalTimer<RowData,Long> timer) throws Exception
Triggerable
onProcessingTime
in interface Triggerable<RowData,Long>
Exception
public void onEventTime(InternalTimer<RowData,Long> timer) throws Exception
Triggerable
onEventTime
in interface Triggerable<RowData,Long>
Exception
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.