java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.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 Details

    • 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).
  • Constructor Details

    • ExecEdge

      public ExecEdge(ExecNode<?> source, ExecNode<?> target, ExecEdge.Shuffle shuffle, org.apache.flink.streaming.api.transformations.StreamExchangeMode exchangeMode)
  • Method Details

    • getSource

      public ExecNode<?> getSource()
    • getTarget

      public ExecNode<?> getTarget()
    • getShuffle

      public ExecEdge.Shuffle getShuffle()
    • getExchangeMode

      public org.apache.flink.streaming.api.transformations.StreamExchangeMode getExchangeMode()
    • getOutputType

      public org.apache.flink.table.types.logical.LogicalType getOutputType()
      Returns the output LogicalType of the data passing this edge.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • builder

      public static ExecEdge.Builder builder()
    • hashShuffle

      public static ExecEdge.Shuffle hashShuffle(int[] keys)
      Return hash ExecEdge.Shuffle.
      Parameters:
      keys - hash keys
    • translateToPlan

      public org.apache.flink.api.dag.Transformation<?> translateToPlan(org.apache.flink.table.delegation.Planner planner)
      Translates this edge into a Flink operator.
      Parameters:
      planner - The Planner of the translated Table.
    • translateToFusionCodegenSpec

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