Class AbstractExternalOneInputPythonFunctionOperator<IN,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.AbstractExternalOneInputPythonFunctionOperator<IN,OUT>
- 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.BoundedOneInput,org.apache.flink.streaming.api.operators.Input<IN>,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,org.apache.flink.streaming.api.operators.OneInputStreamOperator<IN,,OUT> DataStreamPythonFunctionOperator<OUT>,org.apache.flink.streaming.api.operators.StreamOperator<OUT>,org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator,org.apache.flink.streaming.api.operators.YieldingOperator<OUT>
- Direct Known Subclasses:
ExternalPythonKeyedProcessOperator,ExternalPythonProcessOperator
@Internal
public abstract class AbstractExternalOneInputPythonFunctionOperator<IN,OUT>
extends AbstractExternalDataStreamPythonFunctionOperator<OUT>
implements org.apache.flink.streaming.api.operators.OneInputStreamOperator<IN,OUT>, org.apache.flink.streaming.api.operators.BoundedOneInput
AbstractExternalOneInputPythonFunctionOperator is responsible for launching beam runner
which will start a python harness to execute user defined python function.
The operator will buffer the timestamp of input elements in a queue, and set into the produced output element.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.apache.flink.core.memory.ByteArrayOutputStreamWithPosReusable OutputStream used to holding the serialized input elements.protected org.apache.flink.core.memory.DataOutputViewStreamWrapperOutputStream Wrapper.Fields 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
ConstructorsConstructorDescriptionAbstractExternalOneInputPythonFunctionOperator(org.apache.flink.configuration.Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inputTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo) -
Method Summary
Modifier and TypeMethodDescriptionvoidemitResult(org.apache.flink.api.java.tuple.Tuple3<String, byte[], Integer> resultTuple) Sends the execution result to the downstream operator.voidendInput()org.apache.flink.api.common.typeinfo.TypeInformation<IN>voidopen()voidprocessElement(long timestamp, long watermark, Object element) Methods 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, createPythonFunctionRunner, drainUnregisteredTimers, emitResults, invokeFinishBundleMethods inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
checkInvokeFinishBundleByCount, finish, getConfiguration, getFlinkMetricContainer, isBundleFinished, prepareSnapshotPreBarrier, processWatermark, 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.python.DataStreamPythonFunctionOperator
copyMethods inherited from interface org.apache.flink.streaming.api.operators.Input
processElement, processLatencyMarker, processRecordAttributes, processWatermark, processWatermark, processWatermarkStatusMethods 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.OneInputStreamOperator
setKeyContextElementMethods inherited from interface org.apache.flink.streaming.api.operators.StreamOperator
close, finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
-
Field Details
-
baos
protected transient org.apache.flink.core.memory.ByteArrayOutputStreamWithPos baosReusable OutputStream used to holding the serialized input elements. -
baosWrapper
protected transient org.apache.flink.core.memory.DataOutputViewStreamWrapper baosWrapperOutputStream Wrapper.
-
-
Constructor Details
-
AbstractExternalOneInputPythonFunctionOperator
public AbstractExternalOneInputPythonFunctionOperator(org.apache.flink.configuration.Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inputTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo)
-
-
Method Details
-
open
- Specified by:
openin interfaceorg.apache.flink.streaming.api.operators.StreamOperator<IN>- Overrides:
openin classAbstractExternalDataStreamPythonFunctionOperator<OUT>- Throws:
Exception
-
endInput
- Specified by:
endInputin interfaceorg.apache.flink.streaming.api.operators.BoundedOneInput- Throws:
Exception
-
emitResult
public void emitResult(org.apache.flink.api.java.tuple.Tuple3<String, byte[], throws ExceptionInteger> resultTuple) Description copied from class:AbstractExternalPythonFunctionOperatorSends the execution result to the downstream operator.- Specified by:
emitResultin classAbstractExternalPythonFunctionOperator<OUT>- Throws:
Exception
-
processElement
- Throws:
Exception
-
createInputCoderInfoDescriptor
-
createOutputCoderInfoDescriptor
-
getInputTypeInfo
-