Package org.apache.flink.optimizer.traversals
This package contains the various traversals over the program plan and the optimizer DAG
(directed acyclic graph) that are made in the course of the optimization.
The traversals are mostly implemented as a Visitor that
traversed the program flow.
-
Class Summary Class Description BinaryUnionReplacer A traversal that collects cascading binary unions into a single n-ary union operator.BranchesVisitor This traversal of the optimizer DAG computes the information needed to track branches and joins in the data flow.GraphCreatingVisitor This traversal creates the optimizer DAG from a program.IdAndEstimatesVisitor This traversal of the optimizer DAG assigns IDs to each node (in a pre-order fashion), and calls each node to compute its estimates.InterestingPropertyVisitor Visitor that computes the interesting properties for each node in the optimizer DAG.PlanFinalizer This visitor traverses the selected execution plan and finalizes it: The graph of nodes is double-linked (links from child to parent are inserted).RangePartitionRewriter StaticDynamicPathIdentifier A traversal that goes over the program data flow of an iteration and makes the nodes that depend on the partial solution (the data set recomputed in each iteration) as "dynamic" and the other nodes as "static".StepFunctionValidator A traversal that checks if the Workset of a delta iteration is used in the data flow of its step function.UnionParallelismAndForwardEnforcer Enforces that all union nodes have the same parallelism as their successor (there must be only one!) and that the union node and its successor are connected by a forward ship strategy.