Class BatchCoBroadcastWithNonKeyedOperator<IN1,IN2,OUT>
- java.lang.Object
-
- org.apache.flink.streaming.api.operators.AbstractStreamOperator<OUT>
-
- org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator<OUT,BroadcastProcessFunction<IN1,IN2,OUT>>
-
- org.apache.flink.streaming.api.operators.co.CoBroadcastWithNonKeyedOperator<IN1,IN2,OUT>
-
- org.apache.flink.streaming.api.operators.co.BatchCoBroadcastWithNonKeyedOperator<IN1,IN2,OUT>
-
- Type Parameters:
IN1
- The input type of the regular (non-broadcast) side.IN2
- The input type of the broadcast side.OUT
- The output type of the operator.
- All Implemented Interfaces:
Serializable
,CheckpointListener
,BoundedMultiInput
,InputSelectable
,KeyContext
,KeyContextHandler
,OutputTypeConfigurable<OUT>
,StreamOperator<OUT>
,StreamOperatorStateHandler.CheckpointedStreamOperator
,TwoInputStreamOperator<IN1,IN2,OUT>
,UserFunctionProvider<BroadcastProcessFunction<IN1,IN2,OUT>>
,YieldingOperator<OUT>
@Internal public class BatchCoBroadcastWithNonKeyedOperator<IN1,IN2,OUT> extends CoBroadcastWithNonKeyedOperator<IN1,IN2,OUT> implements BoundedMultiInput, InputSelectable
ATwoInputStreamOperator
for executingBroadcastProcessFunctions
inRuntimeExecutionMode.BATCH
execution mode.Compared to
CoBroadcastWithNonKeyedOperator
this usesBoundedMultiInput
andInputSelectable
to enforce the requirement that the broadcast side is processed before the regular input.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator
userFunction
-
Fields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
-
-
Constructor Summary
Constructors Constructor Description BatchCoBroadcastWithNonKeyedOperator(BroadcastProcessFunction<IN1,IN2,OUT> function, List<MapStateDescriptor<?,?>> broadcastStateDescriptors)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
endInput(int inputId)
It is notified that no more data will arrive from the input identified by theinputId
.InputSelection
nextSelection()
Returns the nextInputSelection
that wants to get the record.void
processElement1(StreamRecord<IN1> element)
Processes one element that arrived on the first input of this two-input operator.-
Methods inherited from class org.apache.flink.streaming.api.operators.co.CoBroadcastWithNonKeyedOperator
open, processElement2, processWatermark
-
Methods inherited from class org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator
close, finish, getUserFunction, getUserFunctionParameters, initializeState, notifyCheckpointAborted, notifyCheckpointComplete, setOutputType, setup, snapshotState
-
Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getStateKeySelector1, getStateKeySelector2, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, isUsingCustomRawKeyedState, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, 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
close, 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
-
-
-
-
Constructor Detail
-
BatchCoBroadcastWithNonKeyedOperator
public BatchCoBroadcastWithNonKeyedOperator(BroadcastProcessFunction<IN1,IN2,OUT> function, List<MapStateDescriptor<?,?>> broadcastStateDescriptors)
-
-
Method Detail
-
endInput
public void endInput(int inputId) throws Exception
Description copied from interface:BoundedMultiInput
It is notified that no more data will arrive from the input identified by theinputId
. TheinputId
is numbered starting from 1, and `1` indicates the first input.WARNING: It is not safe to use this method to commit any transactions or other side effects! You can use this method to e.g. flush data buffered for the given input or implement an ordered reading from multiple inputs via
InputSelectable
.- Specified by:
endInput
in interfaceBoundedMultiInput
- Throws:
Exception
-
nextSelection
public InputSelection nextSelection()
Description copied from interface:InputSelectable
Returns the nextInputSelection
that wants to get the record. This method is guaranteed to not be called concurrently with other methods of the operator.- Specified by:
nextSelection
in interfaceInputSelectable
-
processElement1
public void processElement1(StreamRecord<IN1> 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.- Specified by:
processElement1
in interfaceTwoInputStreamOperator<IN1,IN2,OUT>
- Overrides:
processElement1
in classCoBroadcastWithNonKeyedOperator<IN1,IN2,OUT>
- Throws:
Exception
-
-