Class PythonStreamGroupWindowAggregateOperator<K,W extends org.apache.flink.table.runtime.operators.window.Window>

java.lang.Object
org.apache.flink.streaming.api.operators.AbstractStreamOperator<OUT>
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.StreamOperator<org.apache.flink.table.data.RowData>, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator, org.apache.flink.streaming.api.operators.Triggerable<K,W>, org.apache.flink.streaming.api.operators.YieldingOperator<org.apache.flink.table.data.RowData>

@Internal public class PythonStreamGroupWindowAggregateOperator<K,W extends org.apache.flink.table.runtime.operators.window.Window> extends AbstractPythonStreamAggregateOperator implements org.apache.flink.streaming.api.operators.Triggerable<K,W>
The Python Group Window AggregateFunction operator.
See Also:
  • Field Summary

    Fields inherited from class org.apache.flink.table.runtime.operators.python.aggregate.AbstractPythonStreamAggregateOperator

    bais, baisWrapper, baos, baosWrapper, inputType, outputType, rowDataWrapper, userDefinedFunctionInputType, userDefinedFunctionOutputType

    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
    Modifier
    Constructor
    Description
    protected
    PythonStreamGroupWindowAggregateOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType outputType, org.apache.flink.table.functions.python.PythonAggregateFunctionInfo[] aggregateFunctions, org.apache.flink.table.runtime.dataview.DataViewSpec[][] dataViewSpecs, int[] grouping, int indexOfCountStar, boolean generateUpdateBefore, boolean countStarInserted, int inputTimeFieldIndex, org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W> windowAssigner, FlinkFnApi.GroupWindow.WindowType windowType, boolean isRowTime, boolean isTimeWindow, long size, long slide, long gap, long allowedLateness, org.apache.flink.table.runtime.groupwindow.NamedWindowProperty[] namedProperties, ZoneId shiftTimeZone)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    createInputCoderInfoDescriptor(org.apache.flink.table.types.logical.RowType runnerInputType)
     
    createOutputCoderInfoDescriptor(org.apache.flink.table.types.logical.RowType runnerOutType)
     
    static <K, W extends org.apache.flink.table.runtime.operators.window.Window>
    PythonStreamGroupWindowAggregateOperator<K,W>
    createSessionGroupWindowAggregateOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType outputType, org.apache.flink.table.functions.python.PythonAggregateFunctionInfo[] aggregateFunctions, org.apache.flink.table.runtime.dataview.DataViewSpec[][] dataViewSpecs, int[] grouping, int indexOfCountStar, boolean generateUpdateBefore, boolean countStarInserted, int inputTimeFieldIndex, org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W> windowAssigner, boolean isRowTime, long gap, long allowedLateness, org.apache.flink.table.runtime.groupwindow.NamedWindowProperty[] namedProperties, ZoneId shiftTimeZone)
     
    static <K, W extends org.apache.flink.table.runtime.operators.window.Window>
    PythonStreamGroupWindowAggregateOperator<K,W>
    createSlidingGroupWindowAggregateOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType outputType, org.apache.flink.table.functions.python.PythonAggregateFunctionInfo[] aggregateFunctions, org.apache.flink.table.runtime.dataview.DataViewSpec[][] dataViewSpecs, int[] grouping, int indexOfCountStar, boolean generateUpdateBefore, boolean countStarInserted, int inputTimeFieldIndex, org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W> windowAssigner, boolean isRowTime, boolean isTimeWindow, long size, long slide, long allowedLateness, org.apache.flink.table.runtime.groupwindow.NamedWindowProperty[] namedProperties, ZoneId shiftTimeZone)
     
    static <K, W extends org.apache.flink.table.runtime.operators.window.Window>
    PythonStreamGroupWindowAggregateOperator<K,W>
    createTumblingGroupWindowAggregateOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType outputType, org.apache.flink.table.functions.python.PythonAggregateFunctionInfo[] aggregateFunctions, org.apache.flink.table.runtime.dataview.DataViewSpec[][] dataViewSpecs, int[] grouping, int indexOfCountStar, boolean generateUpdateBefore, boolean countStarInserted, int inputTimeFieldIndex, org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W> windowAssigner, boolean isRowTime, boolean isTimeWindow, long size, long allowedLateness, org.apache.flink.table.runtime.groupwindow.NamedWindowProperty[] namedProperties, ZoneId shiftTimeZone)
     
    org.apache.flink.table.types.logical.RowType
     
    org.apache.flink.table.types.logical.RowType
     
    void
    emitResult(org.apache.flink.api.java.tuple.Tuple3<String,byte[],Integer> resultTuple)
    Sends the execution result to the downstream operator.
     
    Gets the proto representation of the Python user-defined aggregate functions to be executed.
    org.apache.flink.api.common.typeutils.TypeSerializer<W>
     
    void
    onEventTime(org.apache.flink.streaming.api.operators.InternalTimer<K,W> timer)
     
    void
    onProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<K,W> timer)
     
    void
     
    void
    processElementInternal(org.apache.flink.table.data.RowData value)
     

    Methods inherited from class org.apache.flink.table.runtime.operators.python.aggregate.AbstractPythonStreamAggregateOperator

    createPythonFunctionRunner, getCurrentKey, getKeyType, getPythonEnv, processElement, setCurrentKey

    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, drainUnregisteredTimers, emitResults, invokeFinishBundle

    Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator

    beforeInitializeStateHandler, getContainingTask, 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, processWatermark, processWatermark1, processWatermark1, processWatermark2, 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, processWatermark, processWatermarkStatus

    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 Details

    • PythonStreamGroupWindowAggregateOperator

      protected PythonStreamGroupWindowAggregateOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType outputType, org.apache.flink.table.functions.python.PythonAggregateFunctionInfo[] aggregateFunctions, org.apache.flink.table.runtime.dataview.DataViewSpec[][] dataViewSpecs, int[] grouping, int indexOfCountStar, boolean generateUpdateBefore, boolean countStarInserted, int inputTimeFieldIndex, org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W> windowAssigner, FlinkFnApi.GroupWindow.WindowType windowType, boolean isRowTime, boolean isTimeWindow, long size, long slide, long gap, long allowedLateness, org.apache.flink.table.runtime.groupwindow.NamedWindowProperty[] namedProperties, ZoneId shiftTimeZone)
  • Method Details

    • createTumblingGroupWindowAggregateOperator

      public static <K, W extends org.apache.flink.table.runtime.operators.window.Window> PythonStreamGroupWindowAggregateOperator<K,W> createTumblingGroupWindowAggregateOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType outputType, org.apache.flink.table.functions.python.PythonAggregateFunctionInfo[] aggregateFunctions, org.apache.flink.table.runtime.dataview.DataViewSpec[][] dataViewSpecs, int[] grouping, int indexOfCountStar, boolean generateUpdateBefore, boolean countStarInserted, int inputTimeFieldIndex, org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W> windowAssigner, boolean isRowTime, boolean isTimeWindow, long size, long allowedLateness, org.apache.flink.table.runtime.groupwindow.NamedWindowProperty[] namedProperties, ZoneId shiftTimeZone)
    • createSlidingGroupWindowAggregateOperator

      public static <K, W extends org.apache.flink.table.runtime.operators.window.Window> PythonStreamGroupWindowAggregateOperator<K,W> createSlidingGroupWindowAggregateOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType outputType, org.apache.flink.table.functions.python.PythonAggregateFunctionInfo[] aggregateFunctions, org.apache.flink.table.runtime.dataview.DataViewSpec[][] dataViewSpecs, int[] grouping, int indexOfCountStar, boolean generateUpdateBefore, boolean countStarInserted, int inputTimeFieldIndex, org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W> windowAssigner, boolean isRowTime, boolean isTimeWindow, long size, long slide, long allowedLateness, org.apache.flink.table.runtime.groupwindow.NamedWindowProperty[] namedProperties, ZoneId shiftTimeZone)
    • createSessionGroupWindowAggregateOperator

      public static <K, W extends org.apache.flink.table.runtime.operators.window.Window> PythonStreamGroupWindowAggregateOperator<K,W> createSessionGroupWindowAggregateOperator(org.apache.flink.configuration.Configuration config, org.apache.flink.table.types.logical.RowType inputType, org.apache.flink.table.types.logical.RowType outputType, org.apache.flink.table.functions.python.PythonAggregateFunctionInfo[] aggregateFunctions, org.apache.flink.table.runtime.dataview.DataViewSpec[][] dataViewSpecs, int[] grouping, int indexOfCountStar, boolean generateUpdateBefore, boolean countStarInserted, int inputTimeFieldIndex, org.apache.flink.table.runtime.operators.window.groupwindow.assigners.GroupWindowAssigner<W> windowAssigner, boolean isRowTime, long gap, long allowedLateness, org.apache.flink.table.runtime.groupwindow.NamedWindowProperty[] namedProperties, ZoneId shiftTimeZone)
    • open

      public void open() throws Exception
      Specified by:
      open in interface org.apache.flink.streaming.api.operators.StreamOperator<K>
      Overrides:
      open in class AbstractPythonStreamAggregateOperator
      Throws:
      Exception
    • processElementInternal

      public void processElementInternal(org.apache.flink.table.data.RowData value) throws Exception
      Specified by:
      processElementInternal in class AbstractPythonStreamAggregateOperator
      Throws:
      Exception
    • emitResult

      public void emitResult(org.apache.flink.api.java.tuple.Tuple3<String,byte[],Integer> resultTuple) throws Exception
      Description copied from class: AbstractExternalPythonFunctionOperator
      Sends the execution result to the downstream operator.
      Specified by:
      emitResult in class AbstractExternalPythonFunctionOperator<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • getFunctionUrn

      public String getFunctionUrn()
      Specified by:
      getFunctionUrn in class AbstractPythonStreamAggregateOperator
    • createUserDefinedFunctionInputType

      public org.apache.flink.table.types.logical.RowType createUserDefinedFunctionInputType()
      Specified by:
      createUserDefinedFunctionInputType in class AbstractPythonStreamAggregateOperator
    • createUserDefinedFunctionOutputType

      public org.apache.flink.table.types.logical.RowType createUserDefinedFunctionOutputType()
      Specified by:
      createUserDefinedFunctionOutputType in class AbstractPythonStreamAggregateOperator
    • getUserDefinedFunctionsProto

      protected FlinkFnApi.UserDefinedAggregateFunctions getUserDefinedFunctionsProto()
      Description copied from class: AbstractPythonStreamAggregateOperator
      Gets the proto representation of the Python user-defined aggregate functions to be executed.
      Overrides:
      getUserDefinedFunctionsProto in class AbstractPythonStreamAggregateOperator
    • getWindowSerializer

      public org.apache.flink.api.common.typeutils.TypeSerializer<W> getWindowSerializer()
    • onEventTime

      public void onEventTime(org.apache.flink.streaming.api.operators.InternalTimer<K,W> timer) throws Exception
      Specified by:
      onEventTime in interface org.apache.flink.streaming.api.operators.Triggerable<K,W extends org.apache.flink.table.runtime.operators.window.Window>
      Throws:
      Exception
    • onProcessingTime

      public void onProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<K,W> timer) throws Exception
      Specified by:
      onProcessingTime in interface org.apache.flink.streaming.api.operators.Triggerable<K,W extends org.apache.flink.table.runtime.operators.window.Window>
      Throws:
      Exception
    • createInputCoderInfoDescriptor

      public FlinkFnApi.CoderInfoDescriptor createInputCoderInfoDescriptor(org.apache.flink.table.types.logical.RowType runnerInputType)
      Overrides:
      createInputCoderInfoDescriptor in class AbstractPythonStreamAggregateOperator
    • createOutputCoderInfoDescriptor

      public FlinkFnApi.CoderInfoDescriptor createOutputCoderInfoDescriptor(org.apache.flink.table.types.logical.RowType runnerOutType)
      Overrides:
      createOutputCoderInfoDescriptor in class AbstractPythonStreamAggregateOperator