Examples of LOCogroup


Examples of org.apache.pig.experimental.logical.relational.LOCogroup

       
        uids.add(Long.valueOf( schema.getField(0).uid ) );
        assertEquals( false, uids.contains( schema.getField(1).uid ) );
       
        assertEquals( LOCogroup.class, newPlan.getSuccessors(newPlan.getSources().get(0)).get(0).getClass() );
        LOCogroup cogroup = (LOCogroup) newPlan.getSuccessors(newPlan.getSources().get(0)).get(0);
       
        MultiMap<Integer, LogicalExpressionPlan> expressionPlans = cogroup.getExpressionPlans();
        assertEquals( 1, expressionPlans.size() );
        List<LogicalExpressionPlan> plans = (List<LogicalExpressionPlan>) expressionPlans.get(Integer.valueOf(0));
        assertEquals( 1, plans.size() );
       
        LogicalExpressionPlan exprPlan = plans.get(0);
View Full Code Here

Examples of org.apache.pig.experimental.logical.relational.LOCogroup

        assertEquals( false, uids.contains( schema.getField(0).schema.getField(1).uid ) );
        uids.add( Long.valueOf( schema.getField(0).schema.getField(1).uid ) );       
        assertEquals( false, uids.contains( schema.getField(1).uid ) );
       
        assertEquals( LOCogroup.class, newPlan.getSuccessors(newPlan.getSources().get(0)).get(0).getClass() );
        LOCogroup cogroup = (LOCogroup) newPlan.getSuccessors(newPlan.getSources().get(0)).get(0);
       
        MultiMap<Integer, LogicalExpressionPlan> expressionPlans = cogroup.getExpressionPlans();
        assertEquals( 1, expressionPlans.size() );
        List<LogicalExpressionPlan> plans = (List<LogicalExpressionPlan>) expressionPlans.get(Integer.valueOf(0));
        assertEquals( 2, plans.size() );
       
        LogicalExpressionPlan exprPlan = plans.get(0);
View Full Code Here

Examples of org.apache.pig.experimental.logical.relational.LOCogroup

       
        // check basics
        org.apache.pig.experimental.logical.relational.LogicalPlan newPlan = migratePlan(plan);
       
        assertEquals( LOCogroup.class, newPlan.getSuccessors( newPlan.getSources().get(0) ).get(0).getClass() );
        LOCogroup cogroup = (LOCogroup) newPlan.getSuccessors( newPlan.getSources().get(0) ).get(0);
       
        // Reason for this strange way of getting the load schema is to maintain the sequence correctly       
        LogicalSchema loadSchema =
            ((LogicalRelationalOperator)newPlan.getPredecessors(cogroup).get(0)).getSchema();
       
        LogicalSchema load2Schema =
            ((LogicalRelationalOperator)newPlan.getPredecessors(cogroup).get(1)).getSchema();
       
        Set<Long> uids = getAllUids(loadSchema);
        uids.addAll( getAllUids( load2Schema ) );
       
        LogicalRelationalOperator op = (LogicalRelationalOperator)
            newPlan.getSuccessors( newPlan.getSources().get(0) ).get(0);
        assertEquals( LOCogroup.class, op.getClass() );
        LogicalSchema schema = op.getSchema();
       
        assertEquals( 3, schema.size() );
        assertEquals( DataType.CHARARRAY, schema.getField(0).type );
        assertEquals( false, uids.contains( schema.getField(0).uid ) );
        assertEquals( 0, schema.getField(0).alias.compareTo("group") );

        assertEquals( DataType.BAG, schema.getField(1).type );
       
        assertEquals( DataType.CHARARRAY, schema.getField(1).schema.getField(0).type );
        assertEquals( 0, schema.getField(1).schema.getField(0).alias.compareTo("name") );
        assertEquals( loadSchema.getField(0).uid, schema.getField(1).schema.getField(0).uid );
        assertEquals( DataType.INTEGER, schema.getField(1).schema.getField(1).type );
        assertEquals( 0, schema.getField(1).schema.getField(1).alias.compareTo("age") );
        assertEquals( loadSchema.getField(1).uid, schema.getField(1).schema.getField(1).uid );
        assertEquals( DataType.FLOAT, schema.getField(1).schema.getField(2).type );
        assertEquals( 0, schema.getField(1).schema.getField(2).alias.compareTo("gpa") );
        assertEquals( loadSchema.getField(2).uid, schema.getField(1).schema.getField(2).uid );
       
        assertEquals( DataType.BAG, schema.getField(2).type );
       
        assertEquals( DataType.CHARARRAY, schema.getField(2).schema.getField(0).type );
        assertEquals( 0, schema.getField(2).schema.getField(0).alias.compareTo("name") );
        assertEquals( load2Schema.getField(0).uid, schema.getField(2).schema.getField(0).uid );
        assertEquals( DataType.CHARARRAY, schema.getField(2).schema.getField(1).type );
        assertEquals( 0, schema.getField(2).schema.getField(1).alias.compareTo("blah") );
        assertEquals( load2Schema.getField(1).uid, schema.getField(2).schema.getField(1).uid );       
       
       
        // We are doing Uid tests at the end as the uids should not repeat               
        assertEquals( false, uids.contains( schema.getField(1).uid ) );
        uids.add( schema.getField(1).uid );
        assertEquals( false, uids.contains( schema.getField(2).uid) );
       
        MultiMap<Integer, LogicalExpressionPlan> expressionPlans = cogroup.getExpressionPlans();
        assertEquals( 2, expressionPlans.size() );
        List<LogicalExpressionPlan> plans = (List<LogicalExpressionPlan>) expressionPlans.get(Integer.valueOf(0));
        assertEquals( 1, plans.size() );
       
        List<LogicalExpressionPlan> plans2 = (List<LogicalExpressionPlan>) expressionPlans.get(Integer.valueOf(1));
View Full Code Here

Examples of org.apache.pig.experimental.logical.relational.LOCogroup

       
        // check basics
        org.apache.pig.experimental.logical.relational.LogicalPlan newPlan = migratePlan(plan);
       
        assertEquals( LOCogroup.class, newPlan.getSuccessors( newPlan.getSources().get(0) ).get(0).getClass() );
        LOCogroup cogroup = (LOCogroup) newPlan.getSuccessors( newPlan.getSources().get(0) ).get(0);
       
        // Reason for this strange way of getting the load schema is to maintain the sequence correctly       
        LogicalSchema loadSchema =
            ((LogicalRelationalOperator)newPlan.getPredecessors(cogroup).get(0)).getSchema();
       
        LogicalSchema load2Schema =
            ((LogicalRelationalOperator)newPlan.getPredecessors(cogroup).get(1)).getSchema();
       
        Set<Long> uids = getAllUids(loadSchema);
        uids.addAll( getAllUids( load2Schema ) );
       
        LogicalRelationalOperator op = (LogicalRelationalOperator)
            newPlan.getSuccessors( newPlan.getSources().get(0) ).get(0);
        assertEquals( LOCogroup.class, op.getClass() );
        LogicalSchema schema = op.getSchema();
       
        assertEquals( 3, schema.size() );
        assertEquals( DataType.TUPLE, schema.getField(0).type );
        assertEquals( false, uids.contains( schema.getField(0).uid ) );
        assertEquals( 0, schema.getField(0).alias.compareTo("group") );
        assertEquals( DataType.CHARARRAY, schema.getField(0).schema.getField(0).type );
        assertEquals( 0, schema.getField(0).schema.getField(0).alias.compareTo("name") );
        assertEquals( DataType.INTEGER, schema.getField(0).schema.getField(1).type );
        assertEquals( 0, schema.getField(0).schema.getField(1).alias.compareTo("age") );               
              

        assertEquals( DataType.BAG, schema.getField(1).type );
       
        assertEquals( DataType.CHARARRAY, schema.getField(1).schema.getField(0).type );
        assertEquals( 0, schema.getField(1).schema.getField(0).alias.compareTo("name") );
        assertEquals( loadSchema.getField(0).uid, schema.getField(1).schema.getField(0).uid );
        assertEquals( DataType.INTEGER, schema.getField(1).schema.getField(1).type );
        assertEquals( 0, schema.getField(1).schema.getField(1).alias.compareTo("age") );
        assertEquals( loadSchema.getField(1).uid, schema.getField(1).schema.getField(1).uid );
        assertEquals( DataType.FLOAT, schema.getField(1).schema.getField(2).type );
        assertEquals( 0, schema.getField(1).schema.getField(2).alias.compareTo("gpa") );
        assertEquals( loadSchema.getField(2).uid, schema.getField(1).schema.getField(2).uid );
       
        assertEquals( DataType.BAG, schema.getField(2).type );
       
        assertEquals( DataType.CHARARRAY, schema.getField(2).schema.getField(0).type );
        assertEquals( 0, schema.getField(2).schema.getField(0).alias.compareTo("name") );
        assertEquals( load2Schema.getField(0).uid, schema.getField(2).schema.getField(0).uid );
        assertEquals( DataType.INTEGER, schema.getField(2).schema.getField(1).type );
        assertEquals( 0, schema.getField(2).schema.getField(1).alias.compareTo("age") );
        assertEquals( load2Schema.getField(1).uid, schema.getField(2).schema.getField(1).uid );
        assertEquals( DataType.CHARARRAY, schema.getField(2).schema.getField(2).type );
        assertEquals( 0, schema.getField(2).schema.getField(2).alias.compareTo("blah") );
        assertEquals( load2Schema.getField(2).uid, schema.getField(2).schema.getField(2).uid );       
       
       
        // We are doing Uid tests at the end as the uids should not repeat
        assertEquals( false, uids.contains( schema.getField(0).schema.getField(0).uid ) );
        assertEquals( false, uids.contains( schema.getField(0).schema.getField(1).uid ) );
        assertEquals( false, uids.contains( schema.getField(1).uid ) );
        uids.add( schema.getField(1).uid );
        assertEquals( false, uids.contains( schema.getField(2).uid) );
       
       
        MultiMap<Integer, LogicalExpressionPlan> expressionPlans = cogroup.getExpressionPlans();
        assertEquals( 2, expressionPlans.size() );
        List<LogicalExpressionPlan> plans = (List<LogicalExpressionPlan>) expressionPlans.get(Integer.valueOf(0));
        assertEquals( 2, plans.size() );
       
        List<LogicalExpressionPlan> plans2 = (List<LogicalExpressionPlan>) expressionPlans.get(Integer.valueOf(1));
View Full Code Here

Examples of org.apache.pig.impl.logicalLayer.LOCogroup

            LogicalOperator before,
            Map<Integer, Integer> projectionMapping)
    throws VisitorException, FrontendException {
        // Fix up COGroup internal wiring
        if (before instanceof LOCogroup) {
            LOCogroup cg = (LOCogroup) before ;
            cg.switchGroupByPlanOp(after, newNode);
        }
        if (before instanceof LOJoin) {
            LOJoin frj = (LOJoin) before ;
            frj.switchJoinColPlanOp(after, newNode);
        }
View Full Code Here

Examples of org.apache.pig.impl.logicalLayer.LOCogroup

    @Test
    public void testQueryCogroup2() throws FrontendException {
        String query = "foreach (cogroup (load 'a') by ($1), (load 'b') by ($1)) generate $1.$1, $2.$1 ;";
        LogicalPlan lp = planTester.buildPlan(query);
       
        LOCogroup cogroup = (LOCogroup)lp.getSuccessors(lp.getRoots().get(0)).get(0);
        RequiredFields cogroupRelevantFields01 = cogroup.getRelevantInputs(0, 0).get(0);
        assertTrue(cogroupRelevantFields01.getFields().size() == 1);
        assertTrue(cogroupRelevantFields01.getNeedAllFields() == false);
        assertTrue(cogroupRelevantFields01.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields01.getFields().contains(new Pair<Integer, Integer>(0, 1)));
        RequiredFields cogroupRelevantFields02 = cogroup.getRelevantInputs(0, 0).get(1);
        assertTrue(cogroupRelevantFields02.getFields().size() == 1);
        assertTrue(cogroupRelevantFields02.getNeedAllFields() == false);
        assertTrue(cogroupRelevantFields02.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields02.getFields().contains(new Pair<Integer, Integer>(1, 1)));
       
        RequiredFields cogroupRelevantFields1 = cogroup.getRelevantInputs(0, 1).get(0);
        assertTrue(cogroupRelevantFields1.getNeedAllFields() == true);
        assertTrue(cogroupRelevantFields1.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields1.getFields() == null);
       
        RequiredFields cogroupRelevantFields2 = cogroup.getRelevantInputs(0, 2).get(1);
        assertTrue(cogroupRelevantFields2.getNeedAllFields() == true);
        assertTrue(cogroupRelevantFields2.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields2.getFields() == null);
    }
View Full Code Here

Examples of org.apache.pig.impl.logicalLayer.LOCogroup

    @Test
    public void testQueryGroup3() throws FrontendException {
        String query = "foreach (group (load 'a') by ($6, $7)) generate flatten(group) ;";
        LogicalPlan lp = planTester.buildPlan(query);
       
        LOCogroup cogroup = (LOCogroup)lp.getSuccessors(lp.getRoots().get(0)).get(0);
        RequiredFields cogroupRelevantFields0 = cogroup.getRelevantInputs(0, 0).get(0);
        assertTrue(cogroupRelevantFields0.getNeedAllFields() == false);
        assertTrue(cogroupRelevantFields0.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields0.getFields().size() == 2);
        assertTrue(cogroupRelevantFields0.getFields().contains(new Pair<Integer, Integer>(0, 6)));
        assertTrue(cogroupRelevantFields0.getFields().contains(new Pair<Integer, Integer>(0, 7)));
       
        RequiredFields cogroupRelevantFields1 = cogroup.getRelevantInputs(0, 1).get(0);
        assertTrue(cogroupRelevantFields1.getNeedAllFields() == true);
        assertTrue(cogroupRelevantFields1.getNeedNoFields() == false);       
    }
View Full Code Here

Examples of org.apache.pig.impl.logicalLayer.LOCogroup

        planTester.buildPlan("b = load 'b' as (url,rank);");
        planTester.buildPlan("c = cogroup a by url, b by url;");
        LogicalPlan lp = planTester.buildPlan("d = foreach c generate group,flatten(a),flatten(b);");

        //check cogroup required fields
        LOCogroup cogroup = (LOCogroup)lp.getSuccessors(lp.getRoots().get(0)).get(0);
        assertTrue(cogroup.getRelevantInputs(0, 0).size() == 2);
        RequiredFields cogroupRelevantFields00 = cogroup.getRelevantInputs(0, 0).get(0);
        assertTrue(cogroupRelevantFields00.getNeedAllFields() == false);
        assertTrue(cogroupRelevantFields00.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields00.getFields().size() == 1);
        assertTrue(cogroupRelevantFields00.getFields().get(0).first == 0);
        assertTrue(cogroupRelevantFields00.getFields().get(0).second == 0);
       
        RequiredFields cogroupRelevantFields01 = cogroup.getRelevantInputs(0, 0).get(1);
        assertTrue(cogroupRelevantFields01.getNeedAllFields() == false);
        assertTrue(cogroupRelevantFields01.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields01.getFields().size() == 1);
        assertTrue(cogroupRelevantFields01.getFields().get(0).first == 1);
        assertTrue(cogroupRelevantFields01.getFields().get(0).second == 0);
       
       
        assertTrue(cogroup.getRelevantInputs(0, 1).size() == 2);
        RequiredFields cogroupRelevantFields1 = cogroup.getRelevantInputs(0, 1).get(0);
        assertTrue(cogroupRelevantFields1.getNeedAllFields() == true);
        assertTrue(cogroupRelevantFields1.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields1.getFields() == null);
        assertTrue(cogroup.getRelevantInputs(0, 1).get(1) == null);
       
        RequiredFields cogroupRelevantFields2 = cogroup.getRelevantInputs(0, 2).get(1);
        assertTrue(cogroupRelevantFields2.getNeedAllFields() == true);
        assertTrue(cogroupRelevantFields2.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields2.getFields() == null);
        assertTrue(cogroup.getRelevantInputs(0, 2).get(0) == null);
       
        LOForEach foreach = (LOForEach)lp.getLeaves().get(0);
        RequiredFields foreachRelevantFields0 = foreach.getRelevantInputs(0, 0).get(0);
        assertTrue(foreachRelevantFields0.getNeedAllFields() == false);
        assertTrue(foreachRelevantFields0.getNeedNoFields() == false);
View Full Code Here

Examples of org.apache.pig.impl.logicalLayer.LOCogroup

    @Test
    public void testQueryGroupByStarNoSchema() throws FrontendException  {
        String query = "foreach (group (load 'a') by *) generate $1 ;";
        LogicalPlan lp = planTester.buildPlan(query);
       
        LOCogroup cogroup = (LOCogroup)lp.getSuccessors(lp.getRoots().get(0)).get(0);
        RequiredFields cogroupRelevantFields0 = cogroup.getRelevantInputs(0, 0).get(0);
        assertTrue(cogroupRelevantFields0.getNeedAllFields() == true);
        assertTrue(cogroupRelevantFields0.getNeedNoFields() == false);
       
        RequiredFields cogroupRelevantFields1 = cogroup.getRelevantInputs(0, 1).get(0);
        assertTrue(cogroupRelevantFields1.getNeedAllFields() == true);
        assertTrue(cogroupRelevantFields1.getNeedNoFields() == false);
       
        LOForEach foreach = (LOForEach)lp.getSuccessors(cogroup).get(0);
        RequiredFields foreachRelevantFields0 = foreach.getRelevantInputs(0, 0).get(0);
View Full Code Here

Examples of org.apache.pig.impl.logicalLayer.LOCogroup

    @Test
    public void testQueryGroupByStarWithSchema() throws FrontendException {
        String query = "foreach (group (load 'a' as (url, hitCount)) by *) generate $1 ;";
        LogicalPlan lp = planTester.buildPlan(query);
       
        LOCogroup cogroup = (LOCogroup)lp.getSuccessors(lp.getRoots().get(0)).get(0);
        RequiredFields cogroupRelevantFields0 = cogroup.getRelevantInputs(0, 0).get(0);
        assertTrue(cogroupRelevantFields0.getNeedAllFields() == false);
        assertTrue(cogroupRelevantFields0.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields0.getFields().size() == 2);
        assertTrue(cogroupRelevantFields0.getFields().contains(new Pair<Integer, Integer>(0, 0)));
        assertTrue(cogroupRelevantFields0.getFields().contains(new Pair<Integer, Integer>(0, 1)));
       
        RequiredFields cogroupRelevantFields1 = cogroup.getRelevantInputs(0, 1).get(0);
        assertTrue(cogroupRelevantFields1.getNeedAllFields() == true);
        assertTrue(cogroupRelevantFields1.getNeedNoFields() == false);
        assertTrue(cogroupRelevantFields1.getFields() == null);
       
        assertTrue(cogroup.getRelevantInputs(0, 2) == null);
       
        LOForEach foreach = (LOForEach)lp.getSuccessors(cogroup).get(0);
        RequiredFields forEachRelevantFields0 = foreach.getRelevantInputs(0, 0).get(0);
        assertTrue(forEachRelevantFields0.getNeedAllFields() == false);
        assertTrue(forEachRelevantFields0.getNeedNoFields() == false);
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.