Class ExecEdge


  • public class ExecEdge
    extends Object
    The representation of an edge connecting two ExecNodes.

    The edge's json serialization/deserialization will be delegated to JsonPlanEdge, which only stores the ExecNode's id instead of instance.

    JsonPlanEdge should also be updated with this class if the fields are added/removed.

    • Field Detail

      • ANY_SHUFFLE

        public static final ExecEdge.Shuffle ANY_SHUFFLE
        Any type of shuffle is OK when passing through this edge.
      • BROADCAST_SHUFFLE

        public static final ExecEdge.Shuffle BROADCAST_SHUFFLE
        Full records are provided for each parallelism of the target node.
      • SINGLETON_SHUFFLE

        public static final ExecEdge.Shuffle SINGLETON_SHUFFLE
        The parallelism of the target node must be 1.
      • FORWARD_SHUFFLE

        public static final ExecEdge.Shuffle FORWARD_SHUFFLE
        Records are shuffled in same parallelism (function call).
    • Method Detail

      • getSource

        public ExecNode<?> getSource()
      • getTarget

        public ExecNode<?> getTarget()
      • getOutputType

        public LogicalType getOutputType()
        Returns the output LogicalType of the data passing this edge.
      • translateToPlan

        public Transformation<?> translateToPlan​(Planner planner)
        Translates this edge into a Flink operator.
        Parameters:
        planner - The Planner of the translated Table.
      • translateToFusionCodegenSpec

        public OpFusionCodegenSpecGenerator translateToFusionCodegenSpec​(Planner planner,
                                                                         org.apache.flink.table.planner.codegen.CodeGeneratorContext parentCtx)
        Translates this edge into operator fusion codegen spec generator.
        Parameters:
        planner - The Planner of the translated Table.
        parentCtx - Parent CodeGeneratorContext.