Class EmbeddedPythonBatchCoBroadcastProcessOperator<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.embedded.AbstractEmbeddedPythonFunctionOperator<OUT>
-
- org.apache.flink.streaming.api.operators.python.embedded.AbstractEmbeddedDataStreamPythonFunctionOperator<OUT>
-
- org.apache.flink.streaming.api.operators.python.embedded.AbstractTwoInputEmbeddedPythonFunctionOperator<IN1,IN2,OUT>
-
- org.apache.flink.streaming.api.operators.python.embedded.EmbeddedPythonCoProcessOperator<IN1,IN2,OUT>
-
- org.apache.flink.streaming.api.operators.python.embedded.EmbeddedPythonBatchCoBroadcastProcessOperator<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
,CheckpointListener
,ResultTypeQueryable<OUT>
,BoundedMultiInput
,InputSelectable
,KeyContext
,KeyContextHandler
,DataStreamPythonFunctionOperator<OUT>
,StreamOperator<OUT>
,StreamOperatorStateHandler.CheckpointedStreamOperator
,TwoInputStreamOperator<IN1,IN2,OUT>
,YieldingOperator<OUT>
@Internal public class EmbeddedPythonBatchCoBroadcastProcessOperator<IN1,IN2,OUT> extends EmbeddedPythonCoProcessOperator<IN1,IN2,OUT> implements BoundedMultiInput, InputSelectable
TheEmbeddedPythonBatchCoBroadcastProcessOperator
is responsible for executing the Python CoBroadcastProcess Function under BATCH mode,EmbeddedPythonCoProcessOperator
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.embedded.AbstractTwoInputEmbeddedPythonFunctionOperator
timestamp
-
Fields inherited from class org.apache.flink.streaming.api.operators.python.embedded.AbstractEmbeddedDataStreamPythonFunctionOperator
collector, hasSideOutput, outputTypeInfo, sideOutputContext
-
Fields inherited from class org.apache.flink.streaming.api.operators.python.embedded.AbstractEmbeddedPythonFunctionOperator
interpreter
-
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 EmbeddedPythonBatchCoBroadcastProcessOperator(Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, TypeInformation<IN1> inputTypeInfo1, TypeInformation<IN2> 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
.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.python.embedded.EmbeddedPythonCoProcessOperator
copy, createUserDefinedFunctionsProto, getFunctionContext, getTimerContext, open, processWatermark
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.embedded.AbstractTwoInputEmbeddedPythonFunctionOperator
close, openPythonInterpreter, processElement2
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.embedded.AbstractEmbeddedDataStreamPythonFunctionOperator
addSideOutputTags, getJobParameters, getProducedType, getPythonFunctionInfo, getSideOutputTags, setNumPartitions
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.embedded.AbstractEmbeddedPythonFunctionOperator
createPythonEnvironmentManager, invokeFinishBundle
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
checkInvokeFinishBundleByCount, finish, getConfiguration, getFlinkMetricContainer, isBundleFinished, prepareSnapshotPreBarrier, setCurrentKey
-
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, 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.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
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
-
EmbeddedPythonBatchCoBroadcastProcessOperator
public EmbeddedPythonBatchCoBroadcastProcessOperator(Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, TypeInformation<IN1> inputTypeInfo1, TypeInformation<IN2> 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 classAbstractTwoInputEmbeddedPythonFunctionOperator<IN1,IN2,OUT>
- 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 classAbstractTwoInputEmbeddedPythonFunctionOperator<IN1,IN2,OUT>
- Throws:
Exception
-
-