Examples of LogicalPlan


Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

            "('srcid:int, mrkt:chararray, dstid:int, name:chararray, age:int', " +
            "'srcid') as (f1, f2, f3, f4, f5);");
        org.apache.pig.impl.logicalLayer.LogicalPlan lp = lpTester.buildPlan("b = filter a by " +
                "f5 >= 20 and f2 == 'us' and f3 == 15;");

        LogicalPlan newLogicalPlan = migrateAndOptimizePlan( lp );

        Assert.assertEquals("checking partition filter:",            
                    null,
                    TestLoader.partFilter);
        LOFilter filter = (LOFilter) newLogicalPlan.getSinks().get(0);
        String actual = PColFilterExtractor.getExpression(
                (LogicalExpression) filter.getFilterPlan().
                getSources().get(0)).
                toString().toLowerCase();
        Assert.assertEquals("checking trimmed filter expression:",
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

            "('srcid:int, mrkt:chararray, dstid:int, name:chararray, age:int', " +
            "'srcid,mrkt,dstid,age') as (f1, f2, f3, f4, f5);");
        org.apache.pig.impl.logicalLayer.LogicalPlan lp = lpTester.buildPlan("b = filter a by " +
                "(f5 >= 20 or f2 == 'us') and (f1 == 10 and f3 == 15);");

        LogicalPlan newLogicalPlan = migrateAndOptimizePlan( lp );

        Assert.assertEquals("checking partition filter:",            
                    "(((age >= 20) or (mrkt == 'us')) and ((srcid == 10) and " +
                    "(dstid == 15)))",
                    TestLoader.partFilter.toString());
        Iterator<Operator> it = newLogicalPlan.getOperators();
        Assert.assertTrue("Checking that filter has been removed since it contained" +
            " only conditions on partition cols:",
            (it.next() instanceof LOLoad));
        Assert.assertFalse("Checking that filter has been removed since it contained" +
                " only conditions on partition cols:",
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

            "('srcid:int, mrkt:chararray, dstid:int, name:chararray, age:int', " +
            "'srcid,mrkt') as (f1, f2, f3);");
        org.apache.pig.impl.logicalLayer.LogicalPlan lp = lpTester.buildPlan("b = filter a by " +
                "(age >= 20 and f2 == 'us') and (f1 == 10 and f3 == 15);");

        LogicalPlan newLogicalPlan = migrateAndOptimizePlan( lp );
       
        Assert.assertEquals("checking partition filter:",            
                    "((mrkt == 'us') and (srcid == 10))",
                    TestLoader.partFilter.toString());
        LOFilter filter = (LOFilter) newLogicalPlan.getSinks().get(0);
        String actual = PColFilterExtractor.getExpression(
                (LogicalExpression) filter.getFilterPlan().getSources().get(0)).
                toString().toLowerCase();
        Assert.assertEquals("checking trimmed filter expression:",
                "((age >= 20) and (f3 == 15))", actual);
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

                .buildPlan("d = foreach c generate $4 as bcookie:chararray, " +
                    "$5 as dstid:int, $0 as mrkt:chararray;");
       
        new PlanSetter(lp).visit();
       
        LogicalPlan newLogicalPlan = migrateAndOptimizePlan( lp );
       
        String partFilter = TestLoader.partFilter.toString();
        Assert.assertTrue( "(srcid == 20)".equals( partFilter ) ||  "(srcid == 10)".equals( partFilter ) );
       
        int counter = 0;
        Iterator<Operator> iter = newLogicalPlan.getOperators();
        while (iter.hasNext()) {
           Assert.assertTrue(!(iter.next() instanceof LOFilter));
            counter++;
        }     
        Assert.assertEquals(counter, 4);
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

    //// helper methods ///////
   
    private PColFilterExtractor test(org.apache.pig.impl.logicalLayer.LogicalPlan lp, List<String> partitionCols,
            String expPartFilterString, String expFilterString)
    throws IOException {
      LogicalPlan newLogicalPlan = migratePlan( lp );
        LOFilter filter = (LOFilter)newLogicalPlan.getSinks().get(0);
        PColFilterExtractor pColExtractor = new PColFilterExtractor(
                filter.getFilterPlan(), partitionCols);
        pColExtractor.visit();
       
        if(expPartFilterString == null) {
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

        return pColExtractor;
    }
   
    private void negativeTest(org.apache.pig.impl.logicalLayer.LogicalPlan lp, List<String> partitionCols,
            int expectedErrorCode) throws VisitorException {
      LogicalPlan newLogicalPlan = migratePlan( lp );
        LOFilter filter = (LOFilter)newLogicalPlan.getSinks().get(0);
        PColFilterExtractor pColExtractor = new PColFilterExtractor(
                filter.getFilterPlan(), partitionCols);
        try {
            pColExtractor.visit();
        } catch(Exception e) {
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

    }   

    private LogicalPlan migratePlan(org.apache.pig.impl.logicalLayer.LogicalPlan lp) throws VisitorException{
        LogicalPlanMigrationVistor visitor = new LogicalPlanMigrationVistor(lp);       
        visitor.visit();
        LogicalPlan newPlan = visitor.getNewLogicalPlan();
        return newPlan;
    }
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

                    }
                }
               
                // Now create a new foreach after cross/join and insert it into the plan.
                LOForEach newForeach = new LOForEach( currentPlan );
                LogicalPlan innerPlan = new LogicalPlan();
                List<LogicalExpressionPlan> exprs = new ArrayList<LogicalExpressionPlan>( fieldCount );
                LOGenerate gen = new LOGenerate( innerPlan, exprs, flattenFlags );
                if (mUserDefinedSchema!=null)
                    gen.setUserDefinedSchema(mUserDefinedSchema);
                innerPlan.add( gen );
                newForeach.setInnerPlan( innerPlan );
                for( int i = 0; i < fieldCount; i++ ) {
                    LogicalExpressionPlan expr = new LogicalExpressionPlan();
                    expr.add( new ProjectExpression( expr, i, -1, gen ) );
                    exprs.add( expr );
                   
                    LOInnerLoad innerLoad = new LOInnerLoad(innerPlan, newForeach, i);
                    innerPlan.add(innerLoad);
                    innerPlan.connect(innerLoad, gen);
                }
               
                newForeach.setAlias(((LogicalRelationalOperator)next).getAlias());
               
                Operator opAfterX = null;
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

        super(name, false);
    }

    @Override
    protected OperatorPlan buildPattern() {
        LogicalPlan plan = new LogicalPlan();
        LogicalRelationalOperator limit = new LOLimit(plan, 0);
        plan.add(limit);
        return plan;
    }
View Full Code Here

Examples of org.apache.pig.newplan.logical.relational.LogicalPlan

            }

            // Limit cannot be pushed in front of ForEach if it has a flatten
            if (pred instanceof LOForEach) {
                LOForEach foreach = (LOForEach) pred;
                LogicalPlan innerPlan = foreach.getInnerPlan();
                Iterator<Operator> it = innerPlan.getOperators();
                while (it.hasNext()) {
                    Operator op = it.next();
                    if (op instanceof LOGenerate) {
                        LOGenerate gen = (LOGenerate) op;
                        boolean[] flattenFlags = gen.getFlattenFlags();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.