Class ExternalPythonBatchKeyedCoBroadcastProcessOperator<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<Row,Row,OUT>
-
- org.apache.flink.streaming.api.operators.python.process.ExternalPythonKeyedCoProcessOperator<OUT>
-
- org.apache.flink.streaming.api.operators.python.process.ExternalPythonBatchKeyedCoBroadcastProcessOperator<OUT>
-
- Type Parameters:
OUT
- The output type of the CoBroadcastProcess function
- All Implemented Interfaces:
Serializable
,CheckpointListener
,ResultTypeQueryable<OUT>
,BoundedMultiInput
,KeyContext
,KeyContextHandler
,DataStreamPythonFunctionOperator<OUT>
,StreamOperator<OUT>
,StreamOperatorStateHandler.CheckpointedStreamOperator
,Triggerable<Row,VoidNamespace>
,TwoInputStreamOperator<Row,Row,OUT>
,YieldingOperator<OUT>
@Internal public class ExternalPythonBatchKeyedCoBroadcastProcessOperator<OUT> extends ExternalPythonKeyedCoProcessOperator<OUT> implements BoundedMultiInput
TheExternalPythonBatchKeyedCoBroadcastProcessOperator
is responsible for executing the Python CoBroadcastProcess function under BATCH mode,ExternalPythonKeyedCoProcessOperator
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:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalTwoInputPythonFunctionOperator
baos, baosWrapper
-
Fields inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalPythonFunctionOperator
pythonFunctionRunner
-
Fields inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
bundleFinishedCallback, config, elementCount, lastFinishBundleTime, maxBundleSize, systemEnvEnabled
-
Fields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
-
-
Constructor Summary
Constructors Constructor Description ExternalPythonBatchKeyedCoBroadcastProcessOperator(Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, TypeInformation<Row> inputTypeInfo1, TypeInformation<Row> inputTypeInfo2, TypeInformation<OUT> outputTypeInfo)
-
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
.void
processElement1(StreamRecord<Row> 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.python.process.ExternalPythonKeyedCoProcessOperator
copy, createPythonFunctionRunner, getCurrentKey, onEventTime, onProcessingTime, open, processElement2, setCurrentKey
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalTwoInputPythonFunctionOperator
createInputCoderInfoDescriptor, createOutputCoderInfoDescriptor, emitResult, getLeftInputType, getRightInputType, processElement
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalDataStreamPythonFunctionOperator
addSideOutputTags, createSideOutputCoderDescriptors, getInternalParameters, getOutputTagById, getProducedType, getPythonEnv, getPythonFunctionInfo, getSideOutputTags, getSideOutputTypeSerializerById, setNumPartitions
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalPythonFunctionOperator
close, createPythonEnvironmentManager, emitResults, invokeFinishBundle
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
checkInvokeFinishBundleByCount, finish, getConfiguration, getFlinkMetricContainer, isBundleFinished, prepareSnapshotPreBarrier, processWatermark
-
Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
getContainingTask, getExecutionConfig, getInternalTimerService, 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, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, 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.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
-
ExternalPythonBatchKeyedCoBroadcastProcessOperator
public ExternalPythonBatchKeyedCoBroadcastProcessOperator(Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, TypeInformation<Row> inputTypeInfo1, TypeInformation<Row> inputTypeInfo2, TypeInformation<OUT> outputTypeInfo)
-
-
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
- Overrides:
endInput
in classAbstractExternalTwoInputPythonFunctionOperator<Row,Row,OUT>
- Throws:
Exception
-
processElement1
public void processElement1(StreamRecord<Row> 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<Row,Row,OUT>
- Overrides:
processElement1
in classExternalPythonKeyedCoProcessOperator<OUT>
- Throws:
Exception
-
-