Class ExternalPythonCoProcessOperator<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>
- Type Parameters:
IN1- The input type of the first streamIN2- The input type of the second streamOUT- The output type of the CoProcess 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.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>
- Direct Known Subclasses:
ExternalPythonBatchCoBroadcastProcessOperator
@Internal
public class ExternalPythonCoProcessOperator<IN1,IN2,OUT>
extends AbstractExternalTwoInputPythonFunctionOperator<IN1,IN2,OUT>
The
ExternalPythonCoProcessOperator is responsible for executing the Python CoProcess
Function.- 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
ConstructorsConstructorDescriptionExternalPythonCoProcessOperator(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 TypeMethodDescriptioncopy(DataStreamPythonFunctionInfo pythonFunctionInfo, org.apache.flink.api.common.typeinfo.TypeInformation<T> outputTypeInfo) Make a copy of the DataStreamPythonFunctionOperator with the given pythonFunctionInfo and outputTypeInfo.Creates thePythonFunctionRunnerwhich is responsible for Python user-defined function execution.voidopen()voidprocessElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN1> element) voidprocessElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN2> element) voidprocessWatermark(org.apache.flink.streaming.api.watermark.Watermark mark) Methods inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalTwoInputPythonFunctionOperator
createInputCoderInfoDescriptor, createOutputCoderInfoDescriptor, emitResult, endInput, 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
-
ExternalPythonCoProcessOperator
public ExternalPythonCoProcessOperator(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
-
open
-
createPythonFunctionRunner
Description copied from class:AbstractExternalPythonFunctionOperatorCreates thePythonFunctionRunnerwhich is responsible for Python user-defined function execution.- Specified by:
createPythonFunctionRunnerin classAbstractExternalPythonFunctionOperator<OUT>- Throws:
Exception
-
processElement1
public void processElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN1> element) throws Exception - Throws:
Exception
-
processElement2
public void processElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN2> element) throws Exception - Throws:
Exception
-
processWatermark
public void processWatermark(org.apache.flink.streaming.api.watermark.Watermark mark) throws Exception - Overrides:
processWatermarkin classAbstractPythonFunctionOperator<OUT>- Throws:
Exception
-
copy
public <T> AbstractExternalDataStreamPythonFunctionOperator<T> copy(DataStreamPythonFunctionInfo pythonFunctionInfo, org.apache.flink.api.common.typeinfo.TypeInformation<T> outputTypeInfo) Description copied from interface:DataStreamPythonFunctionOperatorMake a copy of the DataStreamPythonFunctionOperator with the given pythonFunctionInfo and outputTypeInfo. This is used for chaining optimization which may need to update the underlying pythonFunctionInfo and outputTypeInfo with the other fields not changed.
-