Class MultipleInputStreamOperatorBase

java.lang.Object
org.apache.flink.streaming.api.operators.AbstractStreamOperatorV2<org.apache.flink.table.data.RowData>
org.apache.flink.table.runtime.operators.multipleinput.MultipleInputStreamOperatorBase
All Implemented Interfaces:
Serializable, org.apache.flink.api.common.state.CheckpointListener, org.apache.flink.streaming.api.operators.KeyContext, org.apache.flink.streaming.api.operators.MultipleInputStreamOperator<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:
BatchMultipleInputStreamOperator

public abstract class MultipleInputStreamOperatorBase extends org.apache.flink.streaming.api.operators.AbstractStreamOperatorV2<org.apache.flink.table.data.RowData> implements org.apache.flink.streaming.api.operators.MultipleInputStreamOperator<org.apache.flink.table.data.RowData>
Base MultipleInputStreamOperator to handle multiple inputs in table module.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Map<Integer,InputSpec>
     
    protected final Deque<TableOperatorWrapper<?>>
    all operator as topological ordering in this multiple input operator.

    Fields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperatorV2

    combinedWatermark, config, lastRecordAttributes, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, timeServiceManager
  • Constructor Summary

    Constructors
    Constructor
    Description
    MultipleInputStreamOperatorBase(org.apache.flink.streaming.api.operators.StreamOperatorParameters<org.apache.flink.table.data.RowData> parameters, List<InputSpec> inputSpecs, List<TableOperatorWrapper<?>> headWrappers, TableOperatorWrapper<?> tailWrapper)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes all sub-operators in a multiple input operator effect way.
    protected org.apache.flink.streaming.api.graph.StreamConfig
    createStreamConfig(org.apache.flink.streaming.api.operators.StreamOperatorParameters<org.apache.flink.table.data.RowData> multipleInputOperatorParameters, TableOperatorWrapper<?> wrapper)
     
    void
    Finish all sub-operators in a multiple input operator effect way.
    List<org.apache.flink.streaming.api.operators.Input>
     
    void
    Open all sub-operators in a multiple input operator from tail to head, contrary to StreamOperator.close() which happens head to tail (see close()).

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

    beforeInitializeStateHandler, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getTimeServiceManager, getUserCodeClassloader, initializeState, initializeState, internalSetKeyContextElement, isAsyncStateProcessingEnabled, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, prepareSnapshotPreBarrier, processRecordAttributes, processWatermark, processWatermarkStatus, reportOrForwardLatencyMarker, reportWatermark, setCurrentKey, setKeyContextElement1, setKeyContextElement2, 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.KeyContext

    getCurrentKey, setCurrentKey

    Methods inherited from interface org.apache.flink.streaming.api.operators.StreamOperator

    getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
  • Field Details

    • inputSpecMap

      protected final Map<Integer,InputSpec> inputSpecMap
    • topologicalOrderingOperators

      protected final Deque<TableOperatorWrapper<?>> topologicalOrderingOperators
      all operator as topological ordering in this multiple input operator.
  • Constructor Details

    • MultipleInputStreamOperatorBase

      public MultipleInputStreamOperatorBase(org.apache.flink.streaming.api.operators.StreamOperatorParameters<org.apache.flink.table.data.RowData> parameters, List<InputSpec> inputSpecs, List<TableOperatorWrapper<?>> headWrappers, TableOperatorWrapper<?> tailWrapper)
  • Method Details

    • getInputs

      public List<org.apache.flink.streaming.api.operators.Input> getInputs()
      Specified by:
      getInputs in interface org.apache.flink.streaming.api.operators.MultipleInputStreamOperator<org.apache.flink.table.data.RowData>
    • open

      public void open() throws Exception
      Open all sub-operators in a multiple input operator from tail to head, contrary to StreamOperator.close() which happens head to tail (see close()).
      Specified by:
      open in interface org.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>
      Overrides:
      open in class org.apache.flink.streaming.api.operators.AbstractStreamOperatorV2<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • finish

      public void finish() throws Exception
      Finish all sub-operators in a multiple input operator effect way. Finishing happens from head to tail sub-operator in a multiple input operator, contrary to StreamOperator.open() which happens tail to head.
      Specified by:
      finish in interface org.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>
      Overrides:
      finish in class org.apache.flink.streaming.api.operators.AbstractStreamOperatorV2<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • close

      public void close() throws Exception
      Closes all sub-operators in a multiple input operator effect way. Closing happens from head to tail sub-operator in a multiple input operator, contrary to StreamOperator.open() which happens tail to head.
      Specified by:
      close in interface org.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>
      Overrides:
      close in class org.apache.flink.streaming.api.operators.AbstractStreamOperatorV2<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • createStreamConfig

      protected org.apache.flink.streaming.api.graph.StreamConfig createStreamConfig(org.apache.flink.streaming.api.operators.StreamOperatorParameters<org.apache.flink.table.data.RowData> multipleInputOperatorParameters, TableOperatorWrapper<?> wrapper)