Package org.apache.pig.newplan.logical.expression

Examples of org.apache.pig.newplan.logical.expression.ProjectExpression


        assertEquals( 1, plans.size() );
       
        LogicalExpressionPlan exprPlan = plans.get(0);
        assertEquals( 1, exprPlan.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan.getSinks().get(0).getClass() );
        ProjectExpression prj = (ProjectExpression) exprPlan.getSinks().get(0);
        assertEquals( loadSchema.getField(0).uid, prj.getFieldSchema().uid );
        assertEquals( 0, prj.getColNum() );
        assertEquals( 0, prj.getInputNum() );
    }
View Full Code Here


        assertEquals( 2, plans.size() );
       
        LogicalExpressionPlan exprPlan = plans.get(0);
        assertEquals( 1, exprPlan.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan.getSinks().get(0).getClass() );
        ProjectExpression prj = (ProjectExpression) exprPlan.getSinks().get(0);
        assertEquals( loadSchema.getField(0).uid, prj.getFieldSchema().uid );
        assertEquals( 0, prj.getColNum() );
        assertEquals( 0, prj.getInputNum() );
       
        LogicalExpressionPlan exprPlan2 = plans.get(1);
        assertEquals( 1, exprPlan2.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan2.getSinks().get(0).getClass() );
        ProjectExpression prj2 = (ProjectExpression) exprPlan2.getSinks().get(0);
        assertEquals( loadSchema.getField(1).uid, prj2.getFieldSchema().uid );
        assertEquals( 1, prj2.getColNum() );
        assertEquals( 0, prj2.getInputNum() );
    }
View Full Code Here

        assertEquals( 1, plans2.size() );
       
        LogicalExpressionPlan exprPlan = plans.get(0);
        assertEquals( 1, exprPlan.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan.getSinks().get(0).getClass() );
        ProjectExpression prj = (ProjectExpression) exprPlan.getSinks().get(0);
        assertEquals( loadSchema.getField(0).uid, prj.getFieldSchema().uid );
        assertEquals( 0, prj.getColNum() );
        assertEquals( 0, prj.getInputNum() );
       
        LogicalExpressionPlan exprPlan2 = plans2.get(0);
        assertEquals( 1, exprPlan2.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan2.getSinks().get(0).getClass() );
        ProjectExpression prj2 = (ProjectExpression) exprPlan2.getSinks().get(0);
        assertEquals( load2Schema.getField(0).uid, prj2.getFieldSchema().uid );
        assertEquals( 0, prj2.getColNum() );
        assertEquals( 1, prj2.getInputNum() );
    }
View Full Code Here

        assertEquals( 2, plans2.size() );
       
        LogicalExpressionPlan exprPlan = plans.get(0);
        assertEquals( 1, exprPlan.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan.getSinks().get(0).getClass() );
        ProjectExpression prj = (ProjectExpression) exprPlan.getSinks().get(0);
        assertEquals( loadSchema.getField(0).uid, prj.getFieldSchema().uid );
        assertEquals( 0, prj.getColNum() );
        assertEquals( 0, prj.getInputNum() );
       
        LogicalExpressionPlan exprPlan2 = plans.get(1);
        assertEquals( 1, exprPlan2.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan2.getSinks().get(0).getClass() );
        ProjectExpression prj2 = (ProjectExpression) exprPlan2.getSinks().get(0);
        assertEquals( loadSchema.getField(1).uid, prj2.getFieldSchema().uid );
        assertEquals( 1, prj2.getColNum() );
        assertEquals( 0, prj2.getInputNum() );       
       
        LogicalExpressionPlan exprPlan3 = plans2.get(0);
        assertEquals( 1, exprPlan3.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan3.getSinks().get(0).getClass() );
        ProjectExpression prj3 = (ProjectExpression) exprPlan3.getSinks().get(0);
        assertEquals( load2Schema.getField(0).uid, prj3.getFieldSchema().uid );
        assertEquals( 0, prj3.getColNum() );
        assertEquals( 1, prj3.getInputNum() );
       
        LogicalExpressionPlan exprPlan4 = plans2.get(1);
        assertEquals( 1, exprPlan4.getSinks().size() );
        assertEquals( ProjectExpression.class, exprPlan4.getSinks().get(0).getClass() );
        ProjectExpression prj4 = (ProjectExpression) exprPlan4.getSinks().get(0);
        assertEquals( load2Schema.getField(1).uid, prj4.getFieldSchema().uid );
        assertEquals( 1, prj4.getColNum() );
        assertEquals( 1, prj4.getInputNum() );
    }
View Full Code Here

   
    @Test
    public void testBinaryOperatorOrder() throws FrontendException {
        LogicalExpressionPlan ep = new LogicalExpressionPlan();
        ConstantExpression c = new ConstantExpression(ep, new Integer(5), new LogicalFieldSchema(null, null, DataType.INTEGER));
        ProjectExpression p = new ProjectExpression(ep, 0, 0, null);
        EqualExpression e = new EqualExpression(ep, p, c);
        assertEquals(p, e.getLhs());
        assertEquals(c, e.getRhs());
       
    }
View Full Code Here

   
    @Test
    public void testExpressionPlanVisitor() throws FrontendException {
        LogicalExpressionPlan ep = new LogicalExpressionPlan();
        ConstantExpression c = new ConstantExpression(ep, new Integer(5), new LogicalFieldSchema(null, null, DataType.INTEGER));
        ProjectExpression p = new ProjectExpression(ep, 0, 0, null);
        EqualExpression e = new EqualExpression(ep, p, c);
        ConstantExpression c2 = new ConstantExpression(ep, new Boolean("true"), new LogicalFieldSchema(null, null, DataType.BOOLEAN));
        new AndExpression(ep, e, c2);
       
        TestExpressionVisitor v = new TestExpressionVisitor(ep);
View Full Code Here

   
    @Test
    public void testExpressionEquality() throws FrontendException {
        LogicalExpressionPlan ep1 = new LogicalExpressionPlan();
        ConstantExpression c1 = new ConstantExpression(ep1, new Integer(5), new LogicalFieldSchema(null, null, DataType.INTEGER));
        ProjectExpression p1 = new ProjectExpression(ep1, 0, 0, null);
        EqualExpression e1 = new EqualExpression(ep1, p1, c1);
        ConstantExpression ca1 = new ConstantExpression(ep1, new Boolean("true"), new LogicalFieldSchema(null, null, DataType.BOOLEAN));
        AndExpression a1 = new AndExpression(ep1, e1, ca1);
       
        LogicalExpressionPlan ep2 = new LogicalExpressionPlan();
        ConstantExpression c2 = new ConstantExpression(ep2, new Integer(5), new LogicalFieldSchema(null, null, DataType.INTEGER));
        ProjectExpression p2 = new ProjectExpression(ep2, 0, 0, null);
        EqualExpression e2 = new EqualExpression(ep2, p2, c2);
        ConstantExpression ca2 = new ConstantExpression(ep2, new Boolean("true"), new LogicalFieldSchema(null, null, DataType.BOOLEAN));
        AndExpression a2 = new AndExpression(ep2, e2, ca2);
       
        assertTrue(ep1.isEqual(ep2));
        assertTrue(c1.isEqual(c2));
        assertTrue(p1.isEqual(p2));
        assertTrue(e1.isEqual(e2));
        assertTrue(ca1.isEqual(ca2));
        assertTrue(a1.isEqual(a2));
       
        LogicalExpressionPlan ep3 = new LogicalExpressionPlan();
        ConstantExpression c3 = new ConstantExpression(ep3, new Integer(3), new LogicalFieldSchema(null, null, DataType.INTEGER));
        ProjectExpression p3 = new ProjectExpression(ep3, 0, 1, null);
        EqualExpression e3 = new EqualExpression(ep3, p3, c3);
        ConstantExpression ca3 = new ConstantExpression(ep3, "true", new LogicalFieldSchema(null, null, DataType.CHARARRAY));
        AndExpression a3 = new AndExpression(ep3, e3, ca3);
       
        assertFalse(ep1.isEqual(ep3));
        assertFalse(c1.isEqual(c3));
        assertFalse(p1.isEqual(p3));
        assertFalse(e1.isEqual(e3));
        assertFalse(ca1.isEqual(ca3));
        assertFalse(a1.isEqual(a3));
       
        LogicalExpressionPlan ep4 = new LogicalExpressionPlan();
        ProjectExpression p4 = new ProjectExpression(ep4, 1, 0, null);
       
        assertFalse(ep1.isEqual(ep4));
        assertFalse(p1.isEqual(p4));
    }
View Full Code Here

            cschema.addField(new LogicalSchema.LogicalFieldSchema(
                "x", null, DataType.INTEGER));
            cschema.addField(new LogicalSchema.LogicalFieldSchema(
                "y", null, DataType.INTEGER));
            LogicalExpressionPlan aprojplan = new LogicalExpressionPlan();
            new ProjectExpression(aprojplan, 0, 0, null);
            LogicalExpressionPlan bprojplan = new LogicalExpressionPlan();
            new ProjectExpression(bprojplan, 1, 0, null);
            MultiMap<Integer, LogicalExpressionPlan> mm =
                new MultiMap<Integer, LogicalExpressionPlan>();
            mm.put(0, aprojplan);
            mm.put(1, bprojplan);
            LOJoin C = new LOJoin(lp, mm, JOINTYPE.HASH, new boolean[] {true, true});
            C.neverUseForRealSetSchema(cschema);
            lp.add(C);
            lp.connect(A, C);
            lp.connect(B, C);
           
            // D = filter
            LogicalExpressionPlan filterPlan = new LogicalExpressionPlan();
            ProjectExpression fy = new ProjectExpression(filterPlan, 0, 1, null);
            ConstantExpression fc = new ConstantExpression(filterPlan, new Integer(0), new LogicalFieldSchema(null, null, DataType.INTEGER));
            new EqualExpression(filterPlan, fy, fc);
            LOFilter D = new LOFilter(lp, filterPlan);
            D.neverUseForRealSetSchema(cschema);
            lp.add(D);
            lp.connect(C, D);
        }
       
        // Build a second similar plan to test equality
        // A = load
        LogicalPlan lp1 = new LogicalPlan();
        {
            LogicalSchema aschema = new LogicalSchema();
            aschema.addField(new LogicalSchema.LogicalFieldSchema(
                "x", null, DataType.INTEGER));
            LOLoad A = new LOLoad(new FileSpec("/abc",
                new FuncSpec(DummyLoad.class.getName(), new String[] {"x", "y"})), aschema, lp1, null);
            lp1.add(A);
           
            // B = load
            LogicalSchema bschema = new LogicalSchema();
            bschema.addField(new LogicalSchema.LogicalFieldSchema(
                "y", null, DataType.INTEGER));
            LOLoad B = new LOLoad(new FileSpec("/def",
                new FuncSpec("PigStorage", "\t")), bschema, lp1, null);
            lp1.add(B);
           
            // C = join
            LogicalSchema cschema = new LogicalSchema();
            cschema.addField(new LogicalSchema.LogicalFieldSchema(
                "x", null, DataType.INTEGER));
            cschema.addField(new LogicalSchema.LogicalFieldSchema(
                "y", null, DataType.INTEGER));
            LogicalExpressionPlan aprojplan = new LogicalExpressionPlan();
            new ProjectExpression(aprojplan, 0, 0, null);
            LogicalExpressionPlan bprojplan = new LogicalExpressionPlan();
            new ProjectExpression(bprojplan, 1, 0, null);
            MultiMap<Integer, LogicalExpressionPlan> mm =
                new MultiMap<Integer, LogicalExpressionPlan>();
            mm.put(0, aprojplan);
            mm.put(1, bprojplan);
            LOJoin C = new LOJoin(lp1, mm, JOINTYPE.HASH, new boolean[] {true, true});
            C.neverUseForRealSetSchema(cschema);
            lp1.add(C);
            lp1.connect(A, C);
            lp1.connect(B, C);
               
           
            // D = filter
            LogicalExpressionPlan filterPlan = new LogicalExpressionPlan();
            ProjectExpression fy = new ProjectExpression(filterPlan, 0, 1, null);
            ConstantExpression fc = new ConstantExpression(filterPlan, new Integer(0), new LogicalFieldSchema(null, null, DataType.INTEGER));
            new EqualExpression(filterPlan, fy, fc);
            LOFilter D = new LOFilter(lp1, filterPlan);
            D.neverUseForRealSetSchema(cschema);
            lp1.add(D);
View Full Code Here

    @Test
    public void testFilterDifferentPredicates() throws FrontendException {
        LogicalPlan lp = new LogicalPlan();
           
        LogicalExpressionPlan fp1 = new LogicalExpressionPlan();
        ProjectExpression fy1 = new ProjectExpression(fp1, 0, 1, null);
        ConstantExpression fc1 = new ConstantExpression(fp1,
            new Integer(0), new LogicalFieldSchema(null, null, DataType.INTEGER));
        new EqualExpression(fp1, fy1, fc1);
        LOFilter D1 = new LOFilter(lp, fp1);
        LogicalSchema cschema = new LogicalSchema();
        cschema.addField(new LogicalSchema.LogicalFieldSchema(
            "x", null, DataType.INTEGER));
        cschema.addField(new LogicalSchema.LogicalFieldSchema(
            "y", null, DataType.INTEGER));
        D1.neverUseForRealSetSchema(cschema);
        lp.add(D1);
       
        LogicalExpressionPlan fp2 = new LogicalExpressionPlan();
        ProjectExpression fy2 = new ProjectExpression(fp2, 0, 1, null);
        ConstantExpression fc2 = new ConstantExpression(fp2,
            new Integer(1), new LogicalFieldSchema(null, null, DataType.INTEGER));
        new EqualExpression(fp2, fy2, fc2);
        LOFilter D2 = new LOFilter(lp, fp2);
        D2.neverUseForRealSetSchema(cschema);
View Full Code Here

        jcschema1.addField(new LogicalSchema.LogicalFieldSchema(
            "x", null, DataType.INTEGER));
        jcschema1.addField(new LogicalSchema.LogicalFieldSchema(
            "y", null, DataType.INTEGER));
        LogicalExpressionPlan aprojplan1 = new LogicalExpressionPlan();
        new ProjectExpression(aprojplan1, 0, 0, null);
        LogicalExpressionPlan bprojplan1 = new LogicalExpressionPlan();
        new ProjectExpression(bprojplan1, 1, 0, null);
        MultiMap<Integer, LogicalExpressionPlan> mm1 =
            new MultiMap<Integer, LogicalExpressionPlan>();
        mm1.put(0, aprojplan1);
        mm1.put(1, bprojplan1);
        LOJoin C1 = new LOJoin(lp, mm1, JOINTYPE.HASH, new boolean[] {true, true});
        C1.neverUseForRealSetSchema(jcschema1);
        lp.add(C1);
        lp.connect(A1, C1);
        lp.connect(B1, C1);
       
        // A = load
        LogicalSchema jaschema2 = new LogicalSchema();
        jaschema2.addField(new LogicalSchema.LogicalFieldSchema(
           "x", null, DataType.INTEGER));
        LOLoad A2 = new LOLoad(new FileSpec("/abc",
           new FuncSpec("/fooload", new String[] {"x", "y"})), jaschema2, lp, null);
        lp.add(A2);
       
        // B = load
        LogicalSchema jbschema2 = new LogicalSchema();
        jbschema2.addField(new LogicalSchema.LogicalFieldSchema(
            "y", null, DataType.INTEGER));
        LOLoad B2 = new LOLoad(new FileSpec("/def",
            new FuncSpec("PigStorage", "\t")), jbschema2, lp, null);
        lp.add(B2);
       
        // C = join
        LogicalSchema jcschema2 = new LogicalSchema();
        jcschema2.addField(new LogicalSchema.LogicalFieldSchema(
            "x", null, DataType.INTEGER));
        jcschema2.addField(new LogicalSchema.LogicalFieldSchema(
            "y", null, DataType.INTEGER));
        LogicalExpressionPlan aprojplan2 = new LogicalExpressionPlan();
        new ProjectExpression(aprojplan2, 0, 0, null);
        LogicalExpressionPlan bprojplan2 = new LogicalExpressionPlan();
        new ProjectExpression(bprojplan2, 1, 0, null);
        MultiMap<Integer, LogicalExpressionPlan> mm2 =
            new MultiMap<Integer, LogicalExpressionPlan>();
        mm2.put(0, aprojplan2);
        mm2.put(1, bprojplan2);
        LOJoin C2 = new LOJoin(lp, mm2, JOINTYPE.SKEWED, new boolean[] {true, true});
View Full Code Here

TOP

Related Classes of org.apache.pig.newplan.logical.expression.ProjectExpression

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.