Class PythonTableFunctionOperator
- 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.table.runtime.operators.python.AbstractOneInputPythonFunctionOperator<IN,OUT>
-
- org.apache.flink.table.runtime.operators.python.AbstractStatelessFunctionOperator<RowData,RowData,RowData>
-
- org.apache.flink.table.runtime.operators.python.table.PythonTableFunctionOperator
-
- All Implemented Interfaces:
Serializable
,CheckpointListener
,BoundedOneInput
,Input<RowData>
,KeyContext
,KeyContextHandler
,OneInputStreamOperator<RowData,RowData>
,StreamOperator<RowData>
,StreamOperatorStateHandler.CheckpointedStreamOperator
,YieldingOperator<RowData>
@Internal public class PythonTableFunctionOperator extends AbstractStatelessFunctionOperator<RowData,RowData,RowData>
The PythonTableFunction
operator.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.flink.table.runtime.operators.python.AbstractStatelessFunctionOperator
bais, baisWrapper, baos, baosWrapper, forwardedInputQueue, inputType, udfInputType, udfOutputType
-
Fields inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalPythonFunctionOperator
pythonFunctionRunner
-
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
combinedWatermark, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
-
-
Constructor Summary
Constructors Constructor Description PythonTableFunctionOperator(Configuration config, PythonFunctionInfo tableFunction, RowType inputType, RowType udfInputType, RowType udfOutputType, FlinkJoinType joinType, GeneratedProjection udtfInputGeneratedProjection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bufferInput(RowData input)
Buffers the specified input, it will be used to construct the operator result together with the user-defined function execution result.FlinkFnApi.CoderInfoDescriptor
createInputCoderInfoDescriptor(RowType runnerInputType)
FlinkFnApi.CoderInfoDescriptor
createOutputCoderInfoDescriptor(RowType runnerOutType)
FlinkFnApi.UserDefinedFunctions
createUserDefinedFunctionsProto()
Gets the proto representation of the Python user-defined functions to be executed.void
emitResult(Tuple3<String,byte[],Integer> resultTuple)
Sends the execution result to the downstream operator.RowData
getFunctionInput(RowData element)
String
getFunctionUrn()
PythonEnv
getPythonEnv()
Returns thePythonEnv
used to create PythonEnvironmentManager..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
processElementInternal(RowData value)
-
Methods inherited from class org.apache.flink.table.runtime.operators.python.AbstractStatelessFunctionOperator
createPythonFunctionRunner, processElement
-
Methods inherited from class org.apache.flink.table.runtime.operators.python.AbstractOneInputPythonFunctionOperator
endInput
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.process.AbstractExternalPythonFunctionOperator
close, createPythonEnvironmentManager, emitResults, 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, isAsyncStateProcessingEnabled, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark1, 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
-
Methods inherited from interface org.apache.flink.api.common.state.CheckpointListener
notifyCheckpointAborted, notifyCheckpointComplete
-
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
-
PythonTableFunctionOperator
public PythonTableFunctionOperator(Configuration config, PythonFunctionInfo tableFunction, RowType inputType, RowType udfInputType, RowType udfOutputType, FlinkJoinType joinType, GeneratedProjection udtfInputGeneratedProjection)
-
-
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<RowData>
- Overrides:
open
in classAbstractStatelessFunctionOperator<RowData,RowData,RowData>
- Throws:
Exception
- An exception in this method causes the operator to fail.
-
getPythonEnv
public PythonEnv getPythonEnv()
Description copied from class:AbstractExternalPythonFunctionOperator
Returns thePythonEnv
used to create PythonEnvironmentManager..- Specified by:
getPythonEnv
in classAbstractExternalPythonFunctionOperator<RowData>
-
getFunctionUrn
public String getFunctionUrn()
- Specified by:
getFunctionUrn
in classAbstractStatelessFunctionOperator<RowData,RowData,RowData>
-
createInputCoderInfoDescriptor
public FlinkFnApi.CoderInfoDescriptor createInputCoderInfoDescriptor(RowType runnerInputType)
- Specified by:
createInputCoderInfoDescriptor
in classAbstractStatelessFunctionOperator<RowData,RowData,RowData>
-
createOutputCoderInfoDescriptor
public FlinkFnApi.CoderInfoDescriptor createOutputCoderInfoDescriptor(RowType runnerOutType)
- Specified by:
createOutputCoderInfoDescriptor
in classAbstractStatelessFunctionOperator<RowData,RowData,RowData>
-
createUserDefinedFunctionsProto
public FlinkFnApi.UserDefinedFunctions createUserDefinedFunctionsProto()
Description copied from class:AbstractStatelessFunctionOperator
Gets the proto representation of the Python user-defined functions to be executed.- Specified by:
createUserDefinedFunctionsProto
in classAbstractStatelessFunctionOperator<RowData,RowData,RowData>
-
bufferInput
public void bufferInput(RowData input)
Description copied from class:AbstractStatelessFunctionOperator
Buffers the specified input, it will be used to construct the operator result together with the user-defined function execution result.- Specified by:
bufferInput
in classAbstractStatelessFunctionOperator<RowData,RowData,RowData>
-
getFunctionInput
public RowData getFunctionInput(RowData element)
- Specified by:
getFunctionInput
in classAbstractStatelessFunctionOperator<RowData,RowData,RowData>
-
processElementInternal
public void processElementInternal(RowData value) throws Exception
- Specified by:
processElementInternal
in classAbstractStatelessFunctionOperator<RowData,RowData,RowData>
- Throws:
Exception
-
emitResult
public void emitResult(Tuple3<String,byte[],Integer> resultTuple) throws Exception
Description copied from class:AbstractExternalPythonFunctionOperator
Sends the execution result to the downstream operator.- Specified by:
emitResult
in classAbstractExternalPythonFunctionOperator<RowData>
- Throws:
Exception
-
-