@Internal public class PythonKeyedCoProcessOperator<OUT> extends AbstractTwoInputPythonFunctionOperator<org.apache.flink.types.Row,org.apache.flink.types.Row,OUT> implements org.apache.flink.streaming.api.operators.Triggerable<org.apache.flink.types.Row,org.apache.flink.runtime.state.VoidNamespace>
baos, baosWrapperconfig, elementCount, jobOptions, maxBundleSize, pythonConfig, pythonFunctionRunner| Constructor and Description |
|---|
PythonKeyedCoProcessOperator(org.apache.flink.configuration.Configuration config,
DataStreamPythonFunctionInfo pythonFunctionInfo,
org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.types.Row> inputTypeInfo1,
org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.types.Row> inputTypeInfo2,
org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo) |
| Modifier and Type | Method and Description |
|---|---|
<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,org.apache.flink.runtime.state.VoidNamespace> timer) |
void |
onProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.types.Row,org.apache.flink.runtime.state.VoidNamespace> timer) |
void |
open() |
void |
processElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.types.Row> element) |
void |
processElement2(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, getLeftInputType, getRightInputType, 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, waitprocessLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus1, processWatermarkStatus2public PythonKeyedCoProcessOperator(org.apache.flink.configuration.Configuration config,
DataStreamPythonFunctionInfo pythonFunctionInfo,
org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.types.Row> inputTypeInfo1,
org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.types.Row> inputTypeInfo2,
org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputTypeInfo)
public void open()
throws Exception
open in interface org.apache.flink.streaming.api.operators.StreamOperator<OUT>open in class AbstractTwoInputPythonFunctionOperator<org.apache.flink.types.Row,org.apache.flink.types.Row,OUT>Exceptionpublic PythonFunctionRunner createPythonFunctionRunner() throws Exception
AbstractPythonFunctionOperatorPythonFunctionRunner which is responsible for Python user-defined
function execution.createPythonFunctionRunner in class AbstractPythonFunctionOperator<OUT>Exceptionpublic void processElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.types.Row> element)
throws Exception
public void processElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.types.Row> element)
throws Exception
public void onEventTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.types.Row,org.apache.flink.runtime.state.VoidNamespace> timer)
throws Exception
onEventTime in interface org.apache.flink.streaming.api.operators.Triggerable<org.apache.flink.types.Row,org.apache.flink.runtime.state.VoidNamespace>Exceptionpublic void onProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<org.apache.flink.types.Row,org.apache.flink.runtime.state.VoidNamespace> timer)
throws Exception
onProcessingTime in interface org.apache.flink.streaming.api.operators.Triggerable<org.apache.flink.types.Row,org.apache.flink.runtime.state.VoidNamespace>Exceptionpublic void setCurrentKey(Object key)
setCurrentKey in interface org.apache.flink.streaming.api.operators.KeyContextsetCurrentKey in class AbstractPythonFunctionOperator<OUT>public Object getCurrentKey()
getCurrentKey in interface org.apache.flink.streaming.api.operators.KeyContextgetCurrentKey in class 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 in class AbstractDataStreamPythonFunctionOperator<OUT>Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.