Class AbstractExternalPythonFunctionOperator<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>
-
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,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:
AbstractExternalDataStreamPythonFunctionOperator,AbstractOneInputPythonFunctionOperator
@Internal public abstract class AbstractExternalPythonFunctionOperator<OUT> extends AbstractPythonFunctionOperator<OUT>
Abstract class for all stream operators to execute Python functions in external environment.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected PythonFunctionRunnerpythonFunctionRunnerThePythonFunctionRunnerwhich is responsible for Python user-defined function execution.-
Fields inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
bundleFinishedCallback, config, elementCount, lastFinishBundleTime, maxBundleSize, systemEnvEnabled
-
-
Constructor Summary
Constructors Constructor Description AbstractExternalPythonFunctionOperator(org.apache.flink.configuration.Configuration config)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()protected ProcessPythonEnvironmentManagercreatePythonEnvironmentManager()abstract PythonFunctionRunnercreatePythonFunctionRunner()Creates thePythonFunctionRunnerwhich is responsible for Python user-defined function execution.protected voiddrainUnregisteredTimers()abstract voidemitResult(org.apache.flink.api.java.tuple.Tuple3<String,byte[],Integer> resultTuple)Sends the execution result to the downstream operator.protected voidemitResults()abstract org.apache.flink.table.functions.python.PythonEnvgetPythonEnv()Returns thePythonEnvused to create PythonEnvironmentManager..protected voidinvokeFinishBundle()voidopen()-
Methods inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
checkInvokeFinishBundleByCount, finish, getConfiguration, getFlinkMetricContainer, isBundleFinished, prepareSnapshotPreBarrier, processWatermark, setCurrentKey
-
Methods 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, useSplittableTimers
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
pythonFunctionRunner
protected transient PythonFunctionRunner pythonFunctionRunner
ThePythonFunctionRunnerwhich is responsible for Python user-defined function execution.
-
-
Method Detail
-
open
public void open() throws Exception- Specified by:
openin interfaceorg.apache.flink.streaming.api.operators.StreamOperator<OUT>- Overrides:
openin classAbstractPythonFunctionOperator<OUT>- Throws:
Exception
-
close
public void close() throws Exception- Specified by:
closein interfaceorg.apache.flink.streaming.api.operators.StreamOperator<OUT>- Overrides:
closein classAbstractPythonFunctionOperator<OUT>- Throws:
Exception
-
invokeFinishBundle
protected void invokeFinishBundle() throws Exception- Specified by:
invokeFinishBundlein classAbstractPythonFunctionOperator<OUT>- Throws:
Exception
-
createPythonEnvironmentManager
protected ProcessPythonEnvironmentManager createPythonEnvironmentManager()
- Specified by:
createPythonEnvironmentManagerin classAbstractPythonFunctionOperator<OUT>
-
drainUnregisteredTimers
protected void drainUnregisteredTimers()
- Overrides:
drainUnregisteredTimersin classAbstractPythonFunctionOperator<OUT>
-
getPythonEnv
public abstract org.apache.flink.table.functions.python.PythonEnv getPythonEnv()
Returns thePythonEnvused to create PythonEnvironmentManager..
-
emitResult
public abstract void emitResult(org.apache.flink.api.java.tuple.Tuple3<String,byte[],Integer> resultTuple) throws Exception
Sends the execution result to the downstream operator.- Throws:
Exception
-
createPythonFunctionRunner
public abstract PythonFunctionRunner createPythonFunctionRunner() throws Exception
Creates thePythonFunctionRunnerwhich is responsible for Python user-defined function execution.- Throws:
Exception
-
-