IN1
- The input type of the regular streamIN2
- The input type of the broadcast streamOUT
- The output type of the CoBroadcastProcess function@Internal public class ExternalPythonBatchCoBroadcastProcessOperator<IN1,IN2,OUT> extends ExternalPythonCoProcessOperator<IN1,IN2,OUT> implements BoundedMultiInput, InputSelectable
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.baos, baosWrapper
pythonFunctionRunner
bundleFinishedCallback, config, elementCount, lastFinishBundleTime, maxBundleSize, systemEnvEnabled
chainingStrategy, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
Constructor and Description |
---|
ExternalPythonBatchCoBroadcastProcessOperator(Configuration config,
DataStreamPythonFunctionInfo pythonFunctionInfo,
TypeInformation<IN1> inputTypeInfo1,
TypeInformation<IN2> inputTypeInfo2,
TypeInformation<OUT> outputTypeInfo) |
Modifier and Type | Method and Description |
---|---|
void |
endInput(int inputId)
It is notified that no more data will arrive from the input identified by the
inputId . |
InputSelection |
nextSelection()
Returns the next
InputSelection 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.
|
copy, createPythonFunctionRunner, open, processElement2, processWatermark
createInputCoderInfoDescriptor, createOutputCoderInfoDescriptor, emitResult, getLeftInputType, getRightInputType, processElement
addSideOutputTags, createSideOutputCoderDescriptors, getInternalParameters, getOutputTagById, getProducedType, getPythonEnv, getPythonFunctionInfo, getSideOutputTags, getSideOutputTypeSerializerById, setNumPartitions
close, createPythonEnvironmentManager, emitResults, invokeFinishBundle
checkInvokeFinishBundleByCount, finish, getConfiguration, getFlinkMetricContainer, isBundleFinished, prepareSnapshotPreBarrier, setCurrentKey
getChainingStrategy, 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, setChainingStrategy, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, snapshotState, useSplittableTimers
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
processLatencyMarker1, processLatencyMarker2, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark2, processWatermarkStatus1, processWatermarkStatus2
close, finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
notifyCheckpointAborted, notifyCheckpointComplete
getCurrentKey, setCurrentKey
hasKeyContext
public ExternalPythonBatchCoBroadcastProcessOperator(Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, TypeInformation<IN1> inputTypeInfo1, TypeInformation<IN2> inputTypeInfo2, TypeInformation<OUT> outputTypeInfo)
public void endInput(int inputId) throws Exception
BoundedMultiInput
inputId
. The inputId
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
.
endInput
in interface BoundedMultiInput
endInput
in class AbstractExternalTwoInputPythonFunctionOperator<IN1,IN2,OUT>
Exception
public InputSelection nextSelection()
InputSelectable
InputSelection
that wants to get the record. This method is
guaranteed to not be called concurrently with other methods of the operator.nextSelection
in interface InputSelectable
public void processElement1(StreamRecord<IN1> element) throws Exception
TwoInputStreamOperator
processElement1
in interface TwoInputStreamOperator<IN1,IN2,OUT>
processElement1
in class ExternalPythonCoProcessOperator<IN1,IN2,OUT>
Exception
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.