Class AbstractArrowPythonAggregateFunctionOperator
- 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<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
-
- org.apache.flink.table.runtime.operators.python.aggregate.arrow.AbstractArrowPythonAggregateFunctionOperator
-
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.streaming.api.operators.BoundedOneInput,org.apache.flink.streaming.api.operators.Input<org.apache.flink.table.data.RowData>,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,org.apache.flink.streaming.api.operators.OneInputStreamOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>,org.apache.flink.streaming.api.operators.SetupableStreamOperator<org.apache.flink.table.data.RowData>,org.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>,org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator
- Direct Known Subclasses:
AbstractStreamArrowPythonOverWindowAggregateFunctionOperator,BatchArrowPythonGroupAggregateFunctionOperator,BatchArrowPythonGroupWindowAggregateFunctionOperator,BatchArrowPythonOverWindowAggregateFunctionOperator,StreamArrowPythonGroupWindowAggregateFunctionOperator
@Internal public abstract class AbstractArrowPythonAggregateFunctionOperator extends AbstractStatelessFunctionOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
The Abstract class of Arrow Aggregate Operator for PandasAggregateFunction.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ArrowSerializerarrowSerializerprotected intcurrentBatchCountThe current number of elements to be included in an arrow batch.protected org.apache.flink.table.functions.python.PythonFunctionInfo[]pandasAggFunctionsThe PandasAggregateFunctions to be executed.protected org.apache.flink.table.data.utils.JoinedRowDatareuseJoinedRowThe JoinedRowData reused holding the execution result.protected StreamRecordRowDataWrappingCollectorrowDataWrapperThe collector used to collect records.-
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
-
-
Constructor Summary
Constructors Constructor Description AbstractArrowPythonAggregateFunctionOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.functions.python.PythonFunctionInfo[] pandasAggFunctions, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType udfInputType, org.apache.flink.table.types.logical.RowType udfOutputType, org.apache.flink.table.runtime.generated.GeneratedProjection udafInputGeneratedProjection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()FlinkFnApi.CoderInfoDescriptorcreateInputCoderInfoDescriptor(org.apache.flink.table.types.logical.RowType runnerInputType)FlinkFnApi.CoderInfoDescriptorcreateOutputCoderInfoDescriptor(org.apache.flink.table.types.logical.RowType runnerOutType)FlinkFnApi.UserDefinedFunctionscreateUserDefinedFunctionsProto()Gets the proto representation of the Python user-defined functions to be executed.org.apache.flink.table.data.RowDatagetFunctionInput(org.apache.flink.table.data.RowData element)StringgetFunctionUrn()org.apache.flink.table.functions.python.PythonEnvgetPythonEnv()Returns thePythonEnvused to create PythonEnvironmentManager..booleanisBundleFinished()Returns whether the bundle is finished.voidopen()voidprocessElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.table.data.RowData> element)-
Methods inherited from class org.apache.flink.table.runtime.operators.python.AbstractStatelessFunctionOperator
bufferInput, createPythonFunctionRunner, processElementInternal
-
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
createPythonEnvironmentManager, emitResult, emitResults, invokeFinishBundle
-
Methods inherited from class org.apache.flink.streaming.api.operators.python.AbstractPythonFunctionOperator
checkInvokeFinishBundleByCount, finish, getConfiguration, getFlinkMetricContainer, prepareSnapshotPreBarrier, processWatermark, setCurrentKey
-
Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
getChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setChainingStrategy, setKeyContextElement1, setKeyContextElement2, setProcessingTimeService, setup, snapshotState, snapshotState
-
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
-
-
-
-
Field Detail
-
pandasAggFunctions
protected final org.apache.flink.table.functions.python.PythonFunctionInfo[] pandasAggFunctions
The PandasAggregateFunctions to be executed.
-
arrowSerializer
protected transient ArrowSerializer arrowSerializer
-
rowDataWrapper
protected transient StreamRecordRowDataWrappingCollector rowDataWrapper
The collector used to collect records.
-
reuseJoinedRow
protected transient org.apache.flink.table.data.utils.JoinedRowData reuseJoinedRow
The JoinedRowData reused holding the execution result.
-
currentBatchCount
protected transient int currentBatchCount
The current number of elements to be included in an arrow batch.
-
-
Constructor Detail
-
AbstractArrowPythonAggregateFunctionOperator
public AbstractArrowPythonAggregateFunctionOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.functions.python.PythonFunctionInfo[] pandasAggFunctions, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType udfInputType, org.apache.flink.table.types.logical.RowType udfOutputType, org.apache.flink.table.runtime.generated.GeneratedProjection udafInputGeneratedProjection)
-
-
Method Detail
-
open
public void open() throws Exception- Specified by:
openin interfaceorg.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>- Overrides:
openin classAbstractStatelessFunctionOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>- Throws:
Exception
-
close
public void close() throws Exception- Specified by:
closein interfaceorg.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>- Overrides:
closein classAbstractExternalPythonFunctionOperator<org.apache.flink.table.data.RowData>- Throws:
Exception
-
processElement
public void processElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.table.data.RowData> element) throws Exception- Specified by:
processElementin interfaceorg.apache.flink.streaming.api.operators.Input<org.apache.flink.table.data.RowData>- Overrides:
processElementin classAbstractStatelessFunctionOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>- Throws:
Exception
-
isBundleFinished
public boolean isBundleFinished()
Description copied from class:AbstractPythonFunctionOperatorReturns whether the bundle is finished.- Overrides:
isBundleFinishedin classAbstractPythonFunctionOperator<org.apache.flink.table.data.RowData>
-
getPythonEnv
public org.apache.flink.table.functions.python.PythonEnv getPythonEnv()
Description copied from class:AbstractExternalPythonFunctionOperatorReturns thePythonEnvused to create PythonEnvironmentManager..- Specified by:
getPythonEnvin classAbstractExternalPythonFunctionOperator<org.apache.flink.table.data.RowData>
-
getFunctionUrn
public String getFunctionUrn()
- Specified by:
getFunctionUrnin classAbstractStatelessFunctionOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
-
createInputCoderInfoDescriptor
public FlinkFnApi.CoderInfoDescriptor createInputCoderInfoDescriptor(org.apache.flink.table.types.logical.RowType runnerInputType)
- Specified by:
createInputCoderInfoDescriptorin classAbstractStatelessFunctionOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
-
createOutputCoderInfoDescriptor
public FlinkFnApi.CoderInfoDescriptor createOutputCoderInfoDescriptor(org.apache.flink.table.types.logical.RowType runnerOutType)
- Specified by:
createOutputCoderInfoDescriptorin classAbstractStatelessFunctionOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
-
getFunctionInput
public org.apache.flink.table.data.RowData getFunctionInput(org.apache.flink.table.data.RowData element)
- Specified by:
getFunctionInputin classAbstractStatelessFunctionOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
-
createUserDefinedFunctionsProto
public FlinkFnApi.UserDefinedFunctions createUserDefinedFunctionsProto()
Description copied from class:AbstractStatelessFunctionOperatorGets the proto representation of the Python user-defined functions to be executed.- Specified by:
createUserDefinedFunctionsProtoin classAbstractStatelessFunctionOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
-
-