Class TwoInputNonBroadcastWindowProcessOperator<K,IN1,IN2,OUT,W extends org.apache.flink.streaming.api.windowing.windows.Window>
java.lang.Object
org.apache.flink.streaming.api.operators.AbstractStreamOperator<OUT>
org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator<OUT>
org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateUdfStreamOperator<OUT,org.apache.flink.datastream.api.function.TwoInputNonBroadcastStreamProcessFunction<IN1,IN2,OUT>>
org.apache.flink.datastream.impl.operators.TwoInputNonBroadcastProcessOperator<IN1,IN2,OUT>
org.apache.flink.datastream.impl.operators.BaseKeyedTwoInputNonBroadcastProcessOperator<K,IN1,IN2,OUT>
org.apache.flink.datastream.impl.extension.window.operators.TwoInputNonBroadcastWindowProcessOperator<K,IN1,IN2,OUT,W>
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.streaming.api.operators.BoundedMultiInput,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,org.apache.flink.streaming.api.operators.OutputTypeConfigurable<OUT>,org.apache.flink.streaming.api.operators.StreamOperator<OUT>,org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator,org.apache.flink.streaming.api.operators.Triggerable<K,,W> org.apache.flink.streaming.api.operators.TwoInputStreamOperator<IN1,,IN2, OUT> org.apache.flink.streaming.api.operators.UserFunctionProvider<org.apache.flink.datastream.api.function.TwoInputNonBroadcastStreamProcessFunction<IN1,,IN2, OUT>> org.apache.flink.streaming.api.operators.YieldingOperator<OUT>,org.apache.flink.streaming.runtime.operators.asyncprocessing.AsyncStateProcessing,org.apache.flink.streaming.runtime.operators.asyncprocessing.AsyncStateProcessingOperator
public class TwoInputNonBroadcastWindowProcessOperator<K,IN1,IN2,OUT,W extends org.apache.flink.streaming.api.windowing.windows.Window>
extends BaseKeyedTwoInputNonBroadcastProcessOperator<K,IN1,IN2,OUT>
implements org.apache.flink.streaming.api.operators.Triggerable<K,W>
Operator for
TwoInputNonBroadcastWindowStreamProcessFunction in KeyedPartitionStream.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final longThe allowed lateness for elements.protected org.apache.flink.streaming.api.operators.InternalTimerService<W>Fields inherited from class org.apache.flink.datastream.impl.operators.BaseKeyedTwoInputNonBroadcastProcessOperator
keySet, outKeySelectorFields inherited from class org.apache.flink.datastream.impl.operators.TwoInputNonBroadcastProcessOperator
collector, context, eventTimeWatermarkHandler, nonPartitionedContext, partitionedContext, watermarkDeclarationMapFields inherited from class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateUdfStreamOperator
declarationContext, userFunctionFields 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
ConstructorsConstructorDescriptionTwoInputNonBroadcastWindowProcessOperator(InternalTwoInputWindowStreamProcessFunction<IN1, IN2, OUT, W> windowFunction, org.apache.flink.streaming.api.windowing.assigners.WindowAssigner<? super org.apache.flink.util.TaggedUnion<IN1, IN2>, W> windowAssigner, org.apache.flink.streaming.api.windowing.triggers.Trigger<? super org.apache.flink.util.TaggedUnion<IN1, IN2>, ? super W> trigger, org.apache.flink.api.common.typeutils.TypeSerializer<W> windowSerializer, org.apache.flink.api.common.state.v2.StateDescriptor<IN1> leftWindowStateDescriptor, org.apache.flink.api.common.state.v2.StateDescriptor<IN2> rightWindowStateDescriptor, long allowedLateness) -
Method Summary
Modifier and TypeMethodDescriptionprotected MergingWindowSet<W>Retrieves theMergingWindowSetfor the currently active key.protected org.apache.flink.datastream.api.context.ProcessingTimeManagervoidonEventTime(org.apache.flink.streaming.api.operators.InternalTimer<K, W> timer) voidonProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<K, W> timer) voidopen()voidprocessElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN1> element) voidprocessElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN2> element) Methods inherited from class org.apache.flink.datastream.impl.operators.BaseKeyedTwoInputNonBroadcastProcessOperator
currentKey, getNonPartitionedContext, getOutputCollector, isAsyncStateProcessingEnabled, newKeySelectedMethods inherited from class org.apache.flink.datastream.impl.operators.TwoInputNonBroadcastProcessOperator
close, endInput, getEventTimeSupplier, getProcessorWithKey, getTimerService, processWatermark1Internal, processWatermark2InternalMethods inherited from class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateUdfStreamOperator
finish, getUserFunction, initializeState, notifyCheckpointAborted, notifyCheckpointComplete, setOutputType, setup, snapshotStateMethods inherited from class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator
asyncProcessWithKey, beforeInitializeStateHandler, drainStateRequests, getAsyncKeyedStateBackend, getCurrentKey, getDeclarationManager, getElementOrder, getInternalTimerService, getOrCreateKeyedState, getRecordProcessor, postProcessElement, postProcessWatermark, prepareSnapshotPreBarrier, preProcessWatermark, preserveRecordOrderAndProcess, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark, processWatermark1, processWatermark2, 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, isUsingCustomRawKeyedState, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus1, processWatermarkStatus2, setCurrentKey, setMailboxExecutor, setProcessingTimeService, snapshotState, useSplittableTimersMethods 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
-
Field Details
-
allowedLateness
protected final long allowedLatenessThe allowed lateness for elements. This is used for:- Deciding if an element should be dropped from a window due to lateness.
- Clearing the state of a window if the time out-of the
window.maxTimestamp + allowedLatenesslandmark.
-
internalTimerService
protected transient org.apache.flink.streaming.api.operators.InternalTimerService<W extends org.apache.flink.streaming.api.windowing.windows.Window> internalTimerService
-
-
Constructor Details
-
TwoInputNonBroadcastWindowProcessOperator
public TwoInputNonBroadcastWindowProcessOperator(InternalTwoInputWindowStreamProcessFunction<IN1, IN2, OUT, W> windowFunction, org.apache.flink.streaming.api.windowing.assigners.WindowAssigner<? super org.apache.flink.util.TaggedUnion<IN1, IN2>, W> windowAssigner, org.apache.flink.streaming.api.windowing.triggers.Trigger<? super org.apache.flink.util.TaggedUnion<IN1, IN2>, ? super W> trigger, org.apache.flink.api.common.typeutils.TypeSerializer<W> windowSerializer, org.apache.flink.api.common.state.v2.StateDescriptor<IN1> leftWindowStateDescriptor, org.apache.flink.api.common.state.v2.StateDescriptor<IN2> rightWindowStateDescriptor, long allowedLateness)
-
-
Method Details
-
open
-
processElement1
public void processElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN1> element) throws Exception - Specified by:
processElement1in interfaceorg.apache.flink.streaming.api.operators.TwoInputStreamOperator<K,IN1, IN2> - Overrides:
processElement1in classTwoInputNonBroadcastProcessOperator<IN1,IN2, OUT> - Throws:
Exception
-
processElement2
public void processElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN2> element) throws Exception - Specified by:
processElement2in interfaceorg.apache.flink.streaming.api.operators.TwoInputStreamOperator<K,IN1, IN2> - Overrides:
processElement2in classTwoInputNonBroadcastProcessOperator<IN1,IN2, OUT> - Throws:
Exception
-
onEventTime
-
onProcessingTime
-
getProcessingTimeManager
protected org.apache.flink.datastream.api.context.ProcessingTimeManager getProcessingTimeManager()- Overrides:
getProcessingTimeManagerin classTwoInputNonBroadcastProcessOperator<IN1,IN2, OUT>
-
getMergingWindowSet
Retrieves theMergingWindowSetfor the currently active key. The caller must ensure that the correct key is set in the state backend.The caller must also ensure to properly persist changes to state using
MergingWindowSet.persist().- Throws:
Exception
-