public TopDownSplitBoundariesExpressionGraph() { super( SearchOrder.Topological ); this.arc( new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.Split ), PathScopeExpression.ANY, new BoundariesElementExpression() ); } }
public TopDownConsecutiveBoundariesExpressionGraph() { super( SearchOrder.Topological ); this.arc( new BoundariesElementExpression( ElementCapture.Primary ), PathScopeExpression.ANY, new BoundariesElementExpression() ); } }
public TopDownConsecutiveBoundariesExpressionGraph() { super( SearchOrder.Topological ); this.arc( new BoundariesElementExpression( ElementCapture.Primary ), PathScopeExpression.ANY, new BoundariesElementExpression() ); } }
public TopDownSplitBoundariesExpressionGraph() { super( SearchOrder.Topological ); this.arc( new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.Split ), PathScopeExpression.ANY, new BoundariesElementExpression() ); } }
public StreamedOnlySourcesExpressionGraph() { super( SearchOrder.Depth ); this.arc( new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.LinearOut ), PathScopeExpression.ALL_NON_BLOCKING, new BoundariesElementExpression() ); } }
public StreamedOnlySourcesExpressionGraph() { super( SearchOrder.Depth ); this.arc( new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.LinearOut ), PathScopeExpression.ALL_NON_BLOCKING, new BoundariesElementExpression() ); } }
public TopDownSplitBoundariesExpressionGraph() { super( SearchOrder.Topological ); this.arc( new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.Split ), PathScopeExpression.ANY, new BoundariesElementExpression() ); } }
public StreamedAccumulatedBoundariesExpressionGraph() { super( SearchOrder.Depth ); ElementExpression sink = new BoundariesElementExpression( ElementCapture.Secondary ); this.arc( new BoundariesElementExpression( ElementCapture.Primary ), PathScopeExpression.ALL_NON_BLOCKING, sink ); this.arc( new BoundariesElementExpression(), PathScopeExpression.ANY_BLOCKING, sink ); } }
public StreamedAccumulatedBoundariesExpressionGraph() { super( SearchOrder.Depth ); ElementExpression sink = new BoundariesElementExpression( ElementCapture.Secondary ); this.arc( new BoundariesElementExpression( ElementCapture.Primary ), PathScopeExpression.ALL_NON_BLOCKING, sink ); this.arc( new BoundariesElementExpression(), PathScopeExpression.ANY_BLOCKING, sink ); } }
public AccumulatedSourceExpressionGraph() { super( SearchOrder.ReverseDepth ); this.arc( new BoundariesElementExpression( ElementCapture.Secondary ), PathScopeExpression.ALL_BLOCKING, new FlowElementExpression( ElementCapture.Primary, HashJoin.class ) ); } }
public BoundarySelJoinCoGroupExpressionGraph() { super( SearchOrder.ReverseTopological ); this .arc( new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.SplitOnly ), ScopeExpression.ALL, new FlowElementExpression( CoGroup.class, TypeExpression.Topo.SpliceOnly ) ); } }
public AccumulatedSourceExpressionGraph() { super( SearchOrder.ReverseDepth ); this.arc( new BoundariesElementExpression( ElementCapture.Secondary ), PathScopeExpression.ALL_BLOCKING, new FlowElementExpression( ElementCapture.Primary, HashJoin.class ) ); } }
public BoundarySelJoinCoGroupExpressionGraph() { super( SearchOrder.ReverseTopological ); this .arc( new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.SplitOnly ), ScopeExpression.ALL, new FlowElementExpression( CoGroup.class, TypeExpression.Topo.SpliceOnly ) ); } }
public TopDownSplitJoinBoundariesExpressionGraph() { super( SearchOrder.Topological ); this.arc( new BoundariesElementExpression( Topo.Split ), PathScopeExpression.ANY, // don't capture a contracted graph having a tap split to a splice tap (two taps with two edges) // this interferes if there is a logical split and merge and( ElementCapture.Primary, new BoundariesElementExpression( Topo.Splice ), not( new FlowElementExpression( Tap.class ) ) ) ); } }
public BalanceJoinSplitExpression() { super( new SyncPipeExpressionGraph(), // in order to capture out degree in sub-graph, we need to capture at least two successors new ExpressionGraph() .arcs( SHARED_JOIN, new BoundariesElementExpression() ) .arcs( SHARED_JOIN, new BoundariesElementExpression() ), // sub-graph to match has out degree captured above new ExpressionGraph() .arcs( new FlowElementExpression( ElementCapture.Primary, Pipe.class, TypeExpression.Topo.SplitOnly ) ) ); } }
public BalanceJoinSplitExpression() { super( new SyncPipeExpressionGraph(), // in order to capture out degree in sub-graph, we need to capture at least two successors new ExpressionGraph() .arcs( SHARED_JOIN, new BoundariesElementExpression() ) .arcs( SHARED_JOIN, new BoundariesElementExpression() ), // sub-graph to match has out degree captured above new ExpressionGraph() .arcs( new FlowElementExpression( ElementCapture.Primary, Pipe.class, TypeExpression.Topo.SplitOnly ) ) ); } }
public TestBoundarySelJoinCoGroupExpressionGraph() { super( SearchOrder.ReverseTopological ); this .arc( new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.SplitOnly ), ScopeExpression.ALL, new FlowElementExpression( CoGroup.class, TypeExpression.Topo.SpliceOnly ) ); } }
public BottomUpNoSplitConsecutiveBoundariesExpressionGraph() { super( SearchOrder.ReverseTopological ); this.arc( or( new FlowElementExpression( Boundary.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Tap.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Group.class, TypeExpression.Topo.LinearOut ) ), PathScopeExpression.ANY, new BoundariesElementExpression( ElementCapture.Primary ) ); } }
public BottomUpNoSplitConsecutiveBoundariesExpressionGraph() { super( SearchOrder.ReverseTopological ); this.arc( or( new FlowElementExpression( Boundary.class, TypeExpression.Topo.LinearOut ), // not possible to split on a boundary in Tez currently new FlowElementExpression( Tap.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Group.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Merge.class, TypeExpression.Topo.LinearOut ) ), PathScopeExpression.ANY, new BoundariesElementExpression( ElementCapture.Primary ) ); } }
public BottomUpNoSplitConsecutiveBoundariesExpressionGraph() { super( SearchOrder.ReverseTopological ); this.arc( or( new FlowElementExpression( Boundary.class, TypeExpression.Topo.LinearOut ), // not possible to split on a boundary in Tez currently new FlowElementExpression( Tap.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Group.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Merge.class, TypeExpression.Topo.LinearOut ) ), PathScopeExpression.ANY, new BoundariesElementExpression( ElementCapture.Primary ) ); } }