Class AbstractOneInputEmbeddedPythonFunctionOperator<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.embedded.AbstractEmbeddedPythonFunctionOperator<OUT>
-
- org.apache.flink.streaming.api.operators.python.embedded.AbstractEmbeddedDataStreamPythonFunctionOperator<OUT>
-
- org.apache.flink.streaming.api.operators.python.embedded.AbstractOneInputEmbeddedPythonFunctionOperator<IN,OUT>
-
- All Implemented Interfaces:
Serializable
,CheckpointListener
,ResultTypeQueryable<OUT>
,BoundedOneInput
,Input<IN>
,KeyContext
,KeyContextHandler
,OneInputStreamOperator<IN,OUT>
,DataStreamPythonFunctionOperator<OUT>
,StreamOperator<OUT>
,StreamOperatorStateHandler.CheckpointedStreamOperator
,YieldingOperator<OUT>
- Direct Known Subclasses:
EmbeddedPythonKeyedProcessOperator
,EmbeddedPythonProcessOperator
,EmbeddedPythonWindowOperator
@Internal public abstract class AbstractOneInputEmbeddedPythonFunctionOperator<IN,OUT> extends AbstractEmbeddedDataStreamPythonFunctionOperator<OUT> implements OneInputStreamOperator<IN,OUT>, BoundedOneInput
AbstractOneInputEmbeddedPythonFunctionOperator
is responsible for run Python DataStream operators with one input in Embedded Python environment.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected long
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 AbstractOneInputEmbeddedPythonFunctionOperator(Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, TypeInformation<IN> inputTypeInfo, TypeInformation<OUT> outputTypeInfo)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract List<FlinkFnApi.UserDefinedDataStreamFunction>
createUserDefinedFunctionsProto()
Gets the proto representation of the Python user-defined functions to be executed.void
endInput()
It is notified that no more data will arrive from the input.abstract Object
getFunctionContext()
Gets The function context.abstract Object
getTimerContext()
Gets The Timer context.void
open()
This method is called immediately before any elements are processed, it should contain the operator's initialization logic, e.g. state initialization.void
openPythonInterpreter()
Setup method for Python Interpreter.void
processElement(StreamRecord<IN> element)
Processes one element that arrived on this input of theMultipleInputStreamOperator
.-
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
close, createPythonEnvironmentManager, invokeFinishBundle
-
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
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.python.DataStreamPythonFunctionOperator
copy
-
Methods inherited from interface org.apache.flink.streaming.api.operators.Input
processLatencyMarker, processRecordAttributes, processWatermark, processWatermarkStatus
-
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.OneInputStreamOperator
setKeyContextElement
-
Methods inherited from interface org.apache.flink.streaming.api.operators.StreamOperator
close, finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
-
-
-
-
Constructor Detail
-
AbstractOneInputEmbeddedPythonFunctionOperator
public AbstractOneInputEmbeddedPythonFunctionOperator(Configuration config, DataStreamPythonFunctionInfo pythonFunctionInfo, TypeInformation<IN> inputTypeInfo, TypeInformation<OUT> outputTypeInfo)
-
-
Method Detail
-
open
public void open() throws Exception
Description copied from class:AbstractStreamOperator
This method is called immediately before any elements are processed, it should contain the operator's initialization logic, e.g. state initialization.The default implementation does nothing.
- Specified by:
open
in interfaceStreamOperator<IN>
- Overrides:
open
in classAbstractEmbeddedDataStreamPythonFunctionOperator<OUT>
- Throws:
Exception
- An exception in this method causes the operator to fail.
-
openPythonInterpreter
public void openPythonInterpreter()
Description copied from class:AbstractEmbeddedPythonFunctionOperator
Setup method for Python Interpreter.- Specified by:
openPythonInterpreter
in classAbstractEmbeddedPythonFunctionOperator<OUT>
-
endInput
public void endInput()
Description copied from interface:BoundedOneInput
It is notified that no more data will arrive from the input.WARNING: It is not safe to use this method to commit any transactions or other side effects! You can use this method to flush any buffered data that can later on be committed e.g. in a
CheckpointListener.notifyCheckpointComplete(long)
.NOTE: Given it is semantically very similar to the
StreamOperator.finish()
method. It might be dropped in favour of the other method at some point in time.- Specified by:
endInput
in interfaceBoundedOneInput
-
processElement
public void processElement(StreamRecord<IN> element) throws Exception
Description copied from interface:Input
Processes one element that arrived on this input of theMultipleInputStreamOperator
. This method is guaranteed to not be called concurrently with other methods of the operator.- Specified by:
processElement
in interfaceInput<IN>
- Throws:
Exception
-
createUserDefinedFunctionsProto
public abstract List<FlinkFnApi.UserDefinedDataStreamFunction> createUserDefinedFunctionsProto()
Gets the proto representation of the Python user-defined functions to be executed.
-
getFunctionContext
public abstract Object getFunctionContext()
Gets The function context.
-
getTimerContext
public abstract Object getTimerContext()
Gets The Timer context.
-
-