Package cascading.flow.planner.iso.expression

Examples of cascading.flow.planner.iso.expression.FlowElementExpression


  {
  public StreamedSelfJoinSourcesExpressionGraph()
    {
    super( SearchOrder.Depth, true );

    FlowElementExpression intermediate = new FlowElementExpression( HashJoin.class, TypeExpression.Topo.Linear );

    this.arc(
      or( ElementCapture.Primary,
        new FlowElementExpression( Tap.class, TypeExpression.Topo.LinearOut ),
        new FlowElementExpression( Boundary.class, TypeExpression.Topo.LinearOut ),
        new FlowElementExpression( Group.class, TypeExpression.Topo.LinearOut )
      ),
      PathScopeExpression.ALL,
      intermediate
    );

    this.arc(
      intermediate,
      PathScopeExpression.ALL,
      or(
        new FlowElementExpression( Tap.class ),
        new FlowElementExpression( Boundary.class ),
        new FlowElementExpression( Merge.class ),
        new FlowElementExpression( Group.class )
      )
    );
    }
View Full Code Here


  {
  public BottomUpConsecutiveBoundariesExpressionGraph()
    {
    super( SearchOrder.ReverseTopological );

    FlowElementExpression shared = new FlowElementExpression( ElementCapture.Secondary, HashJoin.class );

    this.arc(
      or( new FlowElementExpression( Boundary.class, TypeExpression.Topo.LinearOut ),
        new FlowElementExpression( Tap.class ),
        new FlowElementExpression( Group.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Merge.class, TypeExpression.Topo.LinearOut ) ),

      PathScopeExpression.ANY,

      shared
    );
View Full Code Here

    {
    super( SearchOrder.ReverseDepth,
      not(
        or(
          ElementCapture.Primary,
          new FlowElementExpression( Extent.class ),
          new FlowElementExpression( Splice.class ),
          new FlowElementExpression( Boundary.class ),
          new FlowElementExpression( Tap.class )
        )
      )
    );
    }
View Full Code Here

    {
    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 )
View Full Code Here

    this
      .arc(
        new BoundariesElementExpression( ElementCapture.Primary, TypeExpression.Topo.SplitOnly ),
        ScopeExpression.ALL,
        new FlowElementExpression( CoGroup.class, TypeExpression.Topo.SpliceOnly )
      );
    }
View Full Code Here

    this.arc(
      new BoundariesElementExpression( ElementCapture.Secondary ),

      PathScopeExpression.ALL_BLOCKING,

      new FlowElementExpression( ElementCapture.Primary, HashJoin.class )
    );
    }
View Full Code Here

    {
    super(
      not(
        or(
          ElementCapture.Primary,
          new FlowElementExpression( Extent.class ),
          new FlowElementExpression( Group.class ),
          new FlowElementExpression( Merge.class ),
          new FlowElementExpression( Boundary.class ),
          new FlowElementExpression( Tap.class )
        )
      )
    );
    }
View Full Code Here

    super(
      new SyncPipeExpressionGraph(),

      new ExpressionGraph()
        .arc(
          new FlowElementExpression( HashJoin.class ),
          PathScopeExpression.BLOCKING,
          new FlowElementExpression( HashJoin.class )
        ),

      new ExpressionGraph()
        .arc(
          new FlowElementExpression( ElementCapture.Primary, Pipe.class ),
          PathScopeExpression.BLOCKING,
          new FlowElementExpression( HashJoin.class )
        )
    );
    }
View Full Code Here

  public MalformedJoinExpressionGraph()
    {
    super(
      SearchOrder.ReverseDepth,
      and( ElementCapture.Primary,
        new FlowElementExpression( HashJoin.class )
        {
        @Override
        public boolean applies( PlannerContext plannerContext, ElementGraph elementGraph, FlowElement flowElement )
          {
          return super.applies( plannerContext, elementGraph, flowElement ) && !( (Splice) flowElement ).isSelfJoin();
          }
        },
        not( new FlowElementExpression( HashJoin.class, TypeExpression.Topo.SpliceOnly ) )
      )
    );
    }
View Full Code Here

  {
  public StreamedSelfJoinSourcesExpressionGraph()
    {
    super( SearchOrder.Depth, true );

    FlowElementExpression intermediate = new FlowElementExpression( HashJoin.class, TypeExpression.Topo.Linear );

    this.arc(
      or( ElementCapture.Primary,
        new FlowElementExpression( Tap.class, TypeExpression.Topo.LinearOut ),
        new FlowElementExpression( Group.class, TypeExpression.Topo.LinearOut )
      ),
      PathScopeExpression.ALL,
      intermediate
    );

    this.arc(
      intermediate,
      PathScopeExpression.ALL,
      or(
        new FlowElementExpression( Tap.class ),
        new FlowElementExpression( Group.class )
      )
    );
    }
View Full Code Here

TOP

Related Classes of cascading.flow.planner.iso.expression.FlowElementExpression

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.