Class ExternalPythonBatchCoBroadcastProcessOperator<IN1,IN2,OUT>
java.lang.Object
org.apache.flink.streaming.api.operators.AbstractStreamOperator<OUT>
org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator<OUT>
org.apache.flink.streaming.api.operators.python.process.AbstractExternalPythonFunctionOperator<OUT>
org.apache.flink.streaming.api.operators.python.process.AbstractExternalDataStreamPythonFunctionOperator<OUT>
org.apache.flink.streaming.api.operators.python.process.AbstractExternalTwoInputPythonFunctionOperator<IN1,IN2,OUT>
org.apache.flink.streaming.api.operators.python.process.ExternalPythonCoProcessOperator<IN1,IN2,OUT>
org.apache.flink.streaming.api.operators.python.process.ExternalPythonBatchCoBroadcastProcessOperator<IN1,IN2,OUT>
- Type Parameters:
IN1- The input type of the regular streamIN2- The input type of the broadcast streamOUT- The output type of the CoBroadcastProcess function
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.api.java.typeutils.ResultTypeQueryable<OUT>,org.apache.flink.streaming.api.operators.BoundedMultiInput,org.apache.flink.streaming.api.operators.InputSelectable,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,DataStreamPythonFunctionOperator<OUT>,org.apache.flink.streaming.api.operators.StreamOperator<OUT>,org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator,org.apache.flink.streaming.api.operators.TwoInputStreamOperator<IN1,,IN2, OUT> org.apache.flink.streaming.api.operators.YieldingOperator<OUT>
@Internal
public class ExternalPythonBatchCoBroadcastProcessOperator<IN1,IN2,OUT>
extends ExternalPythonCoProcessOperator<IN1,IN2,OUT>
implements org.apache.flink.streaming.api.operators.BoundedMultiInput, org.apache.flink.streaming.api.operators.InputSelectable
The
ExternalPythonBatchCoBroadcastProcessOperator is responsible for executing the Python
CoBroadcastProcess Function under BATCH mode, ExternalPythonCoProcessOperator is used
under STREAMING mode. This operator forces to run out data from broadcast side first, and then
process data from regular side.- See Also:
-
Field Summary
Fields inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalTwoInputPythonFunctionOperator
baos, baosWrapperFields inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalPythonFunctionOperator
pythonFunctionRunnerFields inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
bundleFinishedCallback, config, elementCount, lastFinishBundleTime, maxBundleSize, systemEnvEnabledFields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
combinedWatermark, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager -
Constructor Summary
ConstructorsConstructorDescriptionExternalPythonBatchCoBroadcastProcessOperator(org.apache.flink.configuration.Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, org.apache.flink.api.common.typeinfo.TypeInformation<IN1> inputTypeInfo1, org.apache.flink.api.common.typeinfo.TypeInformation<IN2> inputTypeInfo2, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo) -
Method Summary
Modifier and TypeMethodDescriptionvoidendInput(int inputId) org.apache.flink.streaming.api.operators.InputSelectionvoidprocessElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN1> element) Methods inherited from class org.apache.flink.streaming.api.operators.python.process.ExternalPythonCoProcessOperator
copy, createPythonFunctionRunner, open, processElement2, processWatermarkMethods inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalTwoInputPythonFunctionOperator
createInputCoderInfoDescriptor, createOutputCoderInfoDescriptor, emitResult, getLeftInputType, getRightInputType, processElementMethods inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalDataStreamPythonFunctionOperator
addSideOutputTags, createSideOutputCoderDescriptors, getInternalParameters, getOutputTagById, getProducedType, getPythonEnv, getPythonFunctionInfo, getSideOutputTags, getSideOutputTypeSerializerById, setNumPartitionsMethods inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalPythonFunctionOperator
close, createPythonEnvironmentManager, drainUnregisteredTimers, emitResults, invokeFinishBundleMethods inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
checkInvokeFinishBundleByCount, finish, getConfiguration, getFlinkMetricContainer, isBundleFinished, prepareSnapshotPreBarrier, setCurrentKeyMethods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
beforeInitializeStateHandler, 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, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark1, processWatermark1, processWatermark2, processWatermark2, processWatermarkStatus, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, 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
close, 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
-
ExternalPythonBatchCoBroadcastProcessOperator
public ExternalPythonBatchCoBroadcastProcessOperator(org.apache.flink.configuration.Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, org.apache.flink.api.common.typeinfo.TypeInformation<IN1> inputTypeInfo1, org.apache.flink.api.common.typeinfo.TypeInformation<IN2> inputTypeInfo2, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo)
-
-
Method Details
-
endInput
-
nextSelection
public org.apache.flink.streaming.api.operators.InputSelection nextSelection()- Specified by:
nextSelectionin interfaceorg.apache.flink.streaming.api.operators.InputSelectable
-
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<IN1,IN2, OUT> - Overrides:
processElement1in classExternalPythonCoProcessOperator<IN1,IN2, OUT> - Throws:
Exception
-