Class StreamExecMultipleInput

  • All Implemented Interfaces:
    ExecNode<RowData>, ExecNodeTranslator<RowData>, FusionCodegenExecNode, StreamExecNode<RowData>

    public class StreamExecMultipleInput
    extends ExecNodeBase<RowData>
    implements StreamExecNode<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.

    • Method Detail

      • translateToPlanInternal

        protected Transformation<RowData> translateToPlanInternal​(org.apache.flink.table.planner.delegation.PlannerBase planner,
                                                                  ExecNodeConfig config)
        Description copied from class: ExecNodeBase
        Internal method, translates this node into a Flink operator.
        Specified by:
        translateToPlanInternal in class ExecNodeBase<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.