@Internal public class PythonKeyedProcessOperator<OUT> extends AbstractOneInputPythonFunctionOperator<org.apache.flink.types.Row,OUT> implements org.apache.flink.streaming.api.operators.Triggerable<org.apache.flink.types.Row,Object>
PythonKeyedProcessOperator is responsible for launching beam runner which will start a
python harness to execute user defined python function. It is also able to handle the timer and
state request from the python stateful user defined function.baos, baosWrapperconfig, elementCount, jobOptions, maxBundleSize, pythonConfig, pythonFunctionRunner| 构造器和说明 |
|---|
PythonKeyedProcessOperator(org.apache.flink.configuration.Configuration config,
DataStreamPythonFunctionInfo pythonFunctionInfo,
org.apache.flink.api.java.typeutils.RowTypeInfo inputTypeInfo,
org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo) |
PythonKeyedProcessOperator(org.apache.flink.configuration.Configuration config,
DataStreamPythonFunctionInfo pythonFunctionInfo,
org.apache.flink.api.java.typeutils.RowTypeInfo inputTypeInfo,
org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo,
org.apache.flink.api.common.typeutils.TypeSerializer namespaceSerializer) |
| 限定符和类型 | 方法和说明 |
|---|---|
<T> AbstractDataStreamPythonFunctionOperator<T> |
copy(DataStreamPythonFunctionInfo pythonFunctionInfo,
org.apache.flink.api.common.typeinfo.TypeInformation<T> outputTypeInfo) |
PythonFunctionRunner |
createPythonFunctionRunner()
Creates the
PythonFunctionRunner which is responsible for Python user-defined
function execution. |
Object |
getCurrentKey() |
void |
onEventTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.types.Row,Object> timer) |
void |
onProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.types.Row,Object> timer) |
void |
open() |
void |
processElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.types.Row> element) |
void |
setCurrentKey(Object key)
As the beam state gRPC service will access the KeyedStateBackend in parallel with this
operator, we must override this method to prevent changing the current key of the
KeyedStateBackend while the beam service is handling requests.
|
createInputCoderInfoDescriptor, createOutputCoderInfoDescriptor, emitResult, endInput, getInputTypeInfo, processElementcontainsPartitionCustom, getInternalParameters, getProducedType, getPythonEnv, getPythonFunctionInfo, setContainsPartitionCustom, setNumPartitionscheckInvokeFinishBundleByCount, close, createPythonEnvironmentManager, emitResults, finish, getConfiguration, getFlinkMetricContainer, invokeFinishBundle, isBundleFinished, prepareSnapshotPreBarrier, processWatermark, setConfigurationgetChainingStrategy, getContainingTask, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getTimeServiceManager, getUserCodeClassloader, initializeState, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setChainingStrategy, setKeyContextElement1, setKeyContextElement2, setProcessingTimeService, setup, snapshotState, snapshotStateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, finish, getMetricGroup, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotStatepublic PythonKeyedProcessOperator(org.apache.flink.configuration.Configuration config,
DataStreamPythonFunctionInfo pythonFunctionInfo,
org.apache.flink.api.java.typeutils.RowTypeInfo inputTypeInfo,
org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo)
public PythonKeyedProcessOperator(org.apache.flink.configuration.Configuration config,
DataStreamPythonFunctionInfo pythonFunctionInfo,
org.apache.flink.api.java.typeutils.RowTypeInfo inputTypeInfo,
org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo,
org.apache.flink.api.common.typeutils.TypeSerializer namespaceSerializer)
public void open()
throws Exception
open 在接口中 org.apache.flink.streaming.api.operators.StreamOperator<OUT>open 在类中 AbstractOneInputPythonFunctionOperator<org.apache.flink.types.Row,OUT>Exceptionpublic void onEventTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.types.Row,Object> timer) throws Exception
public void onProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.types.Row,Object> timer) throws Exception
public PythonFunctionRunner createPythonFunctionRunner() throws Exception
AbstractPythonFunctionOperatorPythonFunctionRunner which is responsible for Python user-defined
function execution.createPythonFunctionRunner 在类中 AbstractPythonFunctionOperator<OUT>Exceptionpublic void processElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.types.Row> element)
throws Exception
processElement 在接口中 org.apache.flink.streaming.api.operators.Input<org.apache.flink.types.Row>Exceptionpublic void setCurrentKey(Object key)
setCurrentKey 在接口中 org.apache.flink.streaming.api.operators.KeyContextsetCurrentKey 在类中 AbstractPythonFunctionOperator<OUT>public Object getCurrentKey()
getCurrentKey 在接口中 org.apache.flink.streaming.api.operators.KeyContextgetCurrentKey 在类中 org.apache.flink.streaming.api.operators.AbstractStreamOperator<OUT>public <T> AbstractDataStreamPythonFunctionOperator<T> copy(DataStreamPythonFunctionInfo pythonFunctionInfo, org.apache.flink.api.common.typeinfo.TypeInformation<T> outputTypeInfo)
copy 在类中 AbstractDataStreamPythonFunctionOperator<OUT>Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.