Class AsyncStateWindowJoinOperator
java.lang.Object
org.apache.flink.streaming.api.operators.AbstractStreamOperator<OUT>
org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator<OUT>
org.apache.flink.table.runtime.operators.AsyncStateTableStreamOperator<org.apache.flink.table.data.RowData>
org.apache.flink.table.runtime.operators.join.window.asyncprocessing.AsyncStateWindowJoinOperator
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,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<org.apache.flink.table.data.RowData,,Long> org.apache.flink.streaming.api.operators.TwoInputStreamOperator<org.apache.flink.table.data.RowData,,org.apache.flink.table.data.RowData, org.apache.flink.table.data.RowData> org.apache.flink.streaming.api.operators.YieldingOperator<org.apache.flink.table.data.RowData>,org.apache.flink.streaming.runtime.operators.asyncprocessing.AsyncStateProcessing,org.apache.flink.streaming.runtime.operators.asyncprocessing.AsyncStateProcessingOperator
public class AsyncStateWindowJoinOperator
extends AsyncStateTableStreamOperator<org.apache.flink.table.data.RowData>
implements org.apache.flink.streaming.api.operators.TwoInputStreamOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>, org.apache.flink.streaming.api.operators.Triggerable<org.apache.flink.table.data.RowData,Long>, org.apache.flink.streaming.api.operators.KeyContext
A
AsyncStateWindowJoinOperator implemented by async state api.
This class is nearly identical with WindowJoinOperator, but extending from AbstractAsyncStateStreamOperator to integrate with asynchronous state access.
Note: currently, AsyncStateWindowJoinOperator doesn't support early-fire and
late-arrival. Thus, late elements (elements belong to emitted windows) will be simply dropped.
Note: currently, AsyncStateWindowJoinOperator doesn't support DELETE or UPDATE_BEFORE
input row.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.flink.table.runtime.operators.AsyncStateTableStreamOperator
AsyncStateTableStreamOperator.ContextImpl -
Field Summary
Fields inherited from class org.apache.flink.table.runtime.operators.AsyncStateTableStreamOperator
ctx, currentWatermarkFields inherited from class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator
declarationManagerFields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
combinedWatermark, config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager -
Constructor Summary
ConstructorsConstructorDescriptionAsyncStateWindowJoinOperator(org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.RowData> leftSerializer, org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.RowData> rightSerializer, GeneratedJoinCondition generatedJoinCondition, int leftWindowEndIndex, int rightWindowEndIndex, boolean[] filterNullKeys, ZoneId shiftTimeZone, FlinkJoinType joinType) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidonEventTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.table.data.RowData, Long> timer) voidonProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.table.data.RowData, Long> timer) voidopen()voidprocessElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.table.data.RowData> element) voidprocessElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.table.data.RowData> element) Methods inherited from class org.apache.flink.table.runtime.operators.AsyncStateTableStreamOperator
computeMemorySize, preProcessWatermark, useSplittableTimersMethods inherited from class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator
asyncProcessWithKey, beforeInitializeStateHandler, drainStateRequests, finish, getAsyncKeyedStateBackend, getCurrentKey, getDeclarationManager, getElementOrder, getInternalTimerService, getOrCreateKeyedState, getRecordProcessor, isAsyncStateProcessingEnabled, newKeySelected, postProcessElement, postProcessWatermark, prepareSnapshotPreBarrier, preserveRecordOrderAndProcess, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark, processWatermark1, processWatermark1Internal, processWatermark2, processWatermark2Internal, processWatermarkInternal, processWatermarkStatus, processWatermarkStatus, reportOrForwardLatencyMarker, setAsyncKeyedContextElement, setKeyContextElement1, setKeyContextElement2Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
getContainingTask, getExecutionConfig, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getStateKeySelector1, getStateKeySelector2, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus1, processWatermarkStatus2, setCurrentKey, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, snapshotStateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.api.common.state.CheckpointListener
notifyCheckpointAborted, notifyCheckpointCompleteMethods inherited from interface org.apache.flink.streaming.api.operators.KeyContext
getCurrentKey, setCurrentKeyMethods inherited from interface org.apache.flink.streaming.api.operators.KeyContextHandler
hasKeyContextMethods inherited from interface org.apache.flink.streaming.api.operators.StreamOperator
finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotStateMethods inherited from interface org.apache.flink.streaming.api.operators.TwoInputStreamOperator
processLatencyMarker1, processLatencyMarker2, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark1, processWatermark2, processWatermark2, processWatermarkStatus1, processWatermarkStatus2
-
Constructor Details
-
AsyncStateWindowJoinOperator
public AsyncStateWindowJoinOperator(org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.RowData> leftSerializer, org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.RowData> rightSerializer, GeneratedJoinCondition generatedJoinCondition, int leftWindowEndIndex, int rightWindowEndIndex, boolean[] filterNullKeys, ZoneId shiftTimeZone, FlinkJoinType joinType)
-
-
Method Details
-
open
- Specified by:
openin interfaceorg.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>- Overrides:
openin classAsyncStateTableStreamOperator<org.apache.flink.table.data.RowData>- Throws:
Exception
-
close
- Specified by:
closein interfaceorg.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>- Overrides:
closein classorg.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator<org.apache.flink.table.data.RowData>- Throws:
Exception
-
processElement1
public void processElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.table.data.RowData> element) throws Exception - Specified by:
processElement1in interfaceorg.apache.flink.streaming.api.operators.TwoInputStreamOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData, org.apache.flink.table.data.RowData> - Throws:
Exception
-
processElement2
public void processElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.table.data.RowData> element) throws Exception - Specified by:
processElement2in interfaceorg.apache.flink.streaming.api.operators.TwoInputStreamOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData, org.apache.flink.table.data.RowData> - Throws:
Exception
-
onProcessingTime
-
onEventTime
-