Package org.apache.pig.impl.plan

Examples of org.apache.pig.impl.plan.CompilationMessageCollector


        planTester.buildPlan("b = foreach a generate s#'x' as f1, s#'y' as f2, s#'z' as f3;") ;
        planTester.buildPlan("c = group b by f1;") ;
        LogicalPlan plan = planTester.buildPlan("d = foreach c {fil = filter b by f2 == 1; generate flatten(group), SUM(fil.f3);};") ;

        // validate
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
        typeValidator.validate(plan, collector) ;

        printMessageCollector(collector) ;
        printTypeGraph(plan) ;
        planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName());

        if (collector.hasError()) {
            throw new AssertionError("Expect no  error") ;
        }


        LOForEach foreach = (LOForEach)plan.getLeaves().get(0);
View Full Code Here


        }
    }
   
    private void runTypeCheckingValidator(LogicalPlan plan) throws
    PlanValidationException {
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
        typeValidator.validate(plan, collector) ;

        printMessageCollector(collector) ;
        printTypeGraph(plan) ;
        planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName());

        if (collector.hasError()) {
            throw new AssertionError("Expect no  error") ;
        }
    }
View Full Code Here

        planTester.buildPlan("a = load 'a' as (name: chararray, age: int, gpa: float);") ;
        planTester.buildPlan("b = group a by name;") ;
        LogicalPlan plan = planTester.buildPlan("c = foreach b generate (IsEmpty(a) ? " + TestBinCondFieldSchema.class.getName() + "(*): a) ;") ;
   
        // validate
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
       
        typeValidator.validate(plan, collector) ;
   
        printMessageCollector(collector) ;
        printTypeGraph(plan) ;
        planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName());
   
        if (collector.hasError()) {
            throw new AssertionError("Did not expect an error") ;
        }
   
   
        LOForEach foreach = (LOForEach)plan.getLeaves().get(0);
View Full Code Here

        planTester.buildPlan("b = LOAD 'voter_data' AS (name: chararray, age: int, registration: chararray, contributions: float);");
        planTester.buildPlan("c = COGROUP a BY name, b BY name;");
        LogicalPlan plan = planTester.buildPlan("d = FOREACH c GENERATE group, flatten((not IsEmpty(a) ? a : (bag{tuple(chararray, int, float)}){(null, null, null)})), flatten((not IsEmpty(b) ? b : (bag{tuple(chararray, int, chararray, float)}){(null,null,null, null)}));");
   
        // validate
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
        typeValidator.validate(plan, collector) ;
   
        printMessageCollector(collector) ;
        printTypeGraph(plan) ;
        planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName());
   
        if (collector.hasError()) {
            throw new AssertionError("Expect no  error") ;
        }
   
   
        LOForEach foreach = (LOForEach)plan.getLeaves().get(0);
View Full Code Here

         String inputFileName = f.getAbsolutePath();
         // load as bytearray and use as map
         planTester.buildPlan("a = load 'file://" + inputFileName + "' as (m);");
         LogicalPlan lp = planTester.buildPlan("b = foreach a generate m#'k1';");
         // validate
         CompilationMessageCollector collector = new CompilationMessageCollector() ;
         TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
         typeValidator.validate(lp, collector) ;
        
         // check that a LOCast has been introduced
         LOForEach foreach = (LOForEach) lp.getLeaves().get(0);
         LogicalPlan innerPlan = foreach.getForEachPlans().get(0);
         LOMapLookup mapLookup = (LOMapLookup) innerPlan.getLeaves().get(0);
         assertEquals(LOCast.class, mapLookup.getMap().getClass());
         assertEquals(DataType.MAP, ((LOCast)mapLookup.getMap()).getType());
        
         // load as map and use as map
         planTester.buildPlan("a = load 'file://" + inputFileName + "' as (m:[]);");
         lp = planTester.buildPlan("b = foreach a generate m#'k1';");
         // validate
         collector = new CompilationMessageCollector() ;
         typeValidator = new TypeCheckingValidator() ;
         typeValidator.validate(lp, collector) ;
        
         // check that a LOCast has NOT been introduced
         foreach = (LOForEach) lp.getLeaves().get(0);
View Full Code Here

        planTester.buildPlan("C = JOIN A BY u, B BY x USING 'replicated';") ;
        planTester.buildPlan("D = GROUP C BY (u, x);");
        LogicalPlan plan = planTester.buildPlan( "E = FOREACH D GENERATE (chararray)group.u, (int)group.x;" );

        // validate
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
        typeValidator.validate(plan, collector) ;

        printMessageCollector(collector) ;
        printTypeGraph(plan) ;
        planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName());

        if (collector.hasError()) {
            throw new AssertionError("Expect no  error") ;
        }

        // Check group.u
        LOForEach foreach = (LOForEach)plan.getLeaves().get(0);
View Full Code Here

        planTester.buildPlan( "E = JOIN C BY v1, D BY a USING 'replicated';" );
        planTester.buildPlan( "F = GROUP E BY (v1, a);" );
        LogicalPlan plan = planTester.buildPlan( "G = FOREACH F GENERATE (chararray)group.v1, group.a;" );

        // validate
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
        typeValidator.validate(plan, collector) ;

        printMessageCollector(collector) ;
        printTypeGraph(plan) ;
        planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName());

        if (collector.hasError()) {
            throw new AssertionError("Expect no  error") ;
        }

        // Check group.u
        LOForEach foreach = (LOForEach)plan.getLeaves().get(0);
View Full Code Here

        planTester.buildPlan( "B = LOAD 'data2' USING TextLoader() AS (x, y);" ) ;
        planTester.buildPlan("C = COGROUP A BY u, B by x;");
        LogicalPlan plan = planTester.buildPlan( "D = FOREACH C GENERATE (chararray)group;" );

        // validate
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
        try {
          typeValidator.validate(plan, collector) ;
        } catch(PlanValidationException ex) {
          assertTrue( ex.getCause().toString().contains( "Cannot resolve load function to use for casting from bytearray to chararray." ) );
View Full Code Here

        planTester.buildPlan( "B = FOREACH A generate v, w;");
        planTester.buildPlan( "C = FILTER B by v < 50;" ) ;
        LogicalPlan plan = planTester.buildPlan("D = FOREACH C generate (int)w.a;");

        // validate
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
        typeValidator.validate(plan, collector) ;

        printMessageCollector(collector) ;
        printTypeGraph(plan) ;
        planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName());

        if (collector.hasError()) {
            throw new AssertionError("Expect no  error") ;
        }

        LOForEach foreach = (LOForEach)plan.getLeaves().get(0);
        LogicalPlan foreachPlan = foreach.getForEachPlans().get(0);
View Full Code Here

        planTester.buildPlan( "A = LOAD 'data1' USING PigStorage() AS (u:int, v);" ) ;
        planTester.buildPlan( "B = FILTER A by u < 50;" ) ;
        LogicalPlan plan = planTester.buildPlan("C = FOREACH B generate u + v;");

        // validate
        CompilationMessageCollector collector = new CompilationMessageCollector() ;
        TypeCheckingValidator typeValidator = new TypeCheckingValidator() ;
        typeValidator.validate(plan, collector) ;

        printMessageCollector(collector) ;
        printTypeGraph(plan) ;
        planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName());

        if (collector.hasError()) {
            throw new AssertionError("Expect no  error") ;
        }

        LOForEach foreach = (LOForEach)plan.getLeaves().get(0);
        LogicalPlan foreachPlan = foreach.getForEachPlans().get(0);
View Full Code Here

TOP

Related Classes of org.apache.pig.impl.plan.CompilationMessageCollector

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.