Class StreamExecMultipleInput

java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<org.apache.flink.table.data.RowData>
org.apache.flink.table.planner.plan.nodes.exec.stream.StreamExecMultipleInput
All Implemented Interfaces:
ExecNode<org.apache.flink.table.data.RowData>, ExecNodeTranslator<org.apache.flink.table.data.RowData>, FusionCodegenExecNode, StreamExecNode<org.apache.flink.table.data.RowData>

public class StreamExecMultipleInput extends ExecNodeBase<org.apache.flink.table.data.RowData> implements StreamExecNode<org.apache.flink.table.data.RowData>
Stream ExecNode for multiple input which contains a sub-graph of ExecNodes. The root node of the sub-graph is rootNode, and the leaf nodes of the sub-graph are the output nodes of the #getInputNodes().

The following example shows a graph of ExecNodes with multiple input node:


          Sink
           |
 +---------+--------+
 |         |        |
 |       Join       |
 |     /     \      | StreamExecMultipleInput
 |   Agg1    Agg2   |
 |    |       |     |
 +----+-------+-----+
      |       |
 Exchange1 Exchange2
      |       |
    Scan1   Scan2
 

The multiple input node contains three nodes: `Join`, `Agg1` and `Agg2`. `Join` is the root node (rootNode) of the sub-graph, `Agg1` and `Agg2` are the leaf nodes of the sub-graph, `Exchange1` and `Exchange2` are the input nodes of the multiple input node.

  • Constructor Details

    • StreamExecMultipleInput

      public StreamExecMultipleInput(org.apache.flink.configuration.ReadableConfig tableConfig, List<InputProperty> inputProperties, ExecNode<?> rootNode, String description)
  • Method Details

    • translateToPlanInternal

      protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> translateToPlanInternal(PlannerBase planner, ExecNodeConfig config)
      Description copied from class: ExecNodeBase
      Internal method, translates this node into a Flink operator.
      Specified by:
      translateToPlanInternal in class ExecNodeBase<org.apache.flink.table.data.RowData>
      Parameters:
      planner - The planner.
      config - per-ExecNode configuration that contains the merged configuration from various layers which all the nodes implementing this method should use, instead of retrieving configuration from the planner. For more details check ExecNodeConfig.