Class 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:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Map<Integer,​InputSpec> inputSpecMap  
      protected Deque<TableOperatorWrapper<?>> topologicalOrderingOperators
      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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      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()
      Finish all sub-operators in a multiple input operator effect way.
      List<org.apache.flink.streaming.api.operators.Input> getInputs()  
      void open()
      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, isAsyncKeyOrderedProcessingEnabled, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, prepareSnapshotPreBarrier, processRecordAttributes, processWatermark, processWatermarkStatus, reportOrForwardLatencyMarker, reportWatermark, setCurrentKey, setKeyContextElement1, setKeyContextElement2, snapshotState, snapshotState, useSplittableTimers
      • 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 Detail

      • topologicalOrderingOperators

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

      • 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 Detail

      • 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)