Package org.apache.pig.impl.logicalLayer.schema.Schema

Examples of org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema


        Schema expectedSch =
            Schema.generateNestedSchema(DataType.BAG, DataType.INTEGER);

        //check schema of TOBAG when given input tuple having only integers
        Schema inputSch = new Schema();
        inputSch.add(new FieldSchema(null, DataType.INTEGER));
        assertEquals("schema of tobag when input has only ints",
                expectedSch, tb.outputSchema(inputSch));

        //add another int column
        inputSch.add(new FieldSchema(null, DataType.INTEGER));
        assertEquals("schema of tobag when input has only ints",
                expectedSch, tb.outputSchema(inputSch));

        //add a long column
        inputSch.add(new FieldSchema(null, DataType.LONG));
        //expect null inner schema
        expectedSch =
            Schema.generateNestedSchema(DataType.BAG, DataType.NULL);
        assertEquals("schema of tobag when input has ints and long",
                expectedSch, tb.outputSchema(inputSch));

       
        //test schema when input is a tuple with inner schema
        Schema tupInSchema = new Schema(new FieldSchema("x", DataType.CHARARRAY));
        inputSch = new Schema();
        inputSch.add(new FieldSchema("a", tupInSchema, DataType.TUPLE));
        Schema inputSchCp = new Schema(inputSch);
        inputSchCp.getField(0).alias = null;
        expectedSch = new Schema(new FieldSchema(null, inputSchCp, DataType.BAG));
        assertEquals("schema of tobag when input has cols of type tuple ",
                expectedSch, tb.outputSchema(inputSch));
       
        inputSch.add(new FieldSchema("b", tupInSchema, DataType.TUPLE));
        assertEquals("schema of tobag when input has cols of type tuple ",
                expectedSch, tb.outputSchema(inputSch));
       
        //add a column of type tuple with different inner schema
        tupInSchema = new Schema(new FieldSchema("x", DataType.BYTEARRAY));
        inputSch.add(new FieldSchema("c", tupInSchema, DataType.TUPLE));
        //expect null inner schema
        expectedSch =
            Schema.generateNestedSchema(DataType.BAG, DataType.NULL);
        assertEquals("schema of tobag when input has cols of type tuple with diff inner schema",
                expectedSch, tb.outputSchema(inputSch));
View Full Code Here


            return null;
        }
       
        @Override
        public Schema outputSchema(Schema input) {
            Schema.FieldSchema charFs = new FieldSchema(null, DataType.CHARARRAY);
            Schema.FieldSchema intFs = new FieldSchema(null, DataType.INTEGER);
            Schema.FieldSchema floatFs = new FieldSchema(null, DataType.FLOAT);
            Schema bagSchema = new Schema();
            bagSchema.add(charFs);
            bagSchema.add(intFs);
            bagSchema.add(floatFs);
            Schema.FieldSchema bagFs;
View Full Code Here

                tschema.getColumn(col);
            if (columnSchema != null) {
                ColumnType ct = columnSchema.getType();
                if (ct == org.apache.hadoop.zebra.schema.ColumnType.RECORD ||
                        ct == org.apache.hadoop.zebra.schema.ColumnType.COLLECTION)
                    ret.add(new FieldSchema(col, toPigSchema(columnSchema.getSchema()), ct.pigDataType()));
                else
                    ret.add(new FieldSchema(col, ct.pigDataType()));
            } else {
                ret.add(new FieldSchema(null, null));
            }
        }
        return ret;
    }
View Full Code Here

        Schema expectedSch =
            Schema.generateNestedSchema(DataType.BAG, DataType.INTEGER);

        //check schema of TOBAG when given input tuple having only integers
        Schema inputSch = new Schema();
        inputSch.add(new FieldSchema(null, DataType.INTEGER));
        assertEquals("schema of tobag when input has only ints",
                expectedSch, tb.outputSchema(inputSch));

        //add another int column
        inputSch.add(new FieldSchema(null, DataType.INTEGER));
        assertEquals("schema of tobag when input has only ints",
                expectedSch, tb.outputSchema(inputSch));

        //add a long column
        inputSch.add(new FieldSchema(null, DataType.LONG));
        //expect null inner schema
        expectedSch =
            Schema.generateNestedSchema(DataType.BAG, DataType.NULL);
        assertEquals("schema of tobag when input has ints and long",
                expectedSch, tb.outputSchema(inputSch));

       
        //test schema when input is a tuple with inner schema
        Schema tupInSchema = new Schema(new FieldSchema("x", DataType.CHARARRAY));
        inputSch = new Schema();
        inputSch.add(new FieldSchema("a", tupInSchema, DataType.TUPLE));
        Schema inputSchCp = new Schema(inputSch);
        inputSchCp.getField(0).alias = null;
        expectedSch = new Schema(new FieldSchema(null, inputSchCp, DataType.BAG));
        assertEquals("schema of tobag when input has cols of type tuple ",
                expectedSch, tb.outputSchema(inputSch));
       
        inputSch.add(new FieldSchema("b", tupInSchema, DataType.TUPLE));
        assertEquals("schema of tobag when input has cols of type tuple ",
                expectedSch, tb.outputSchema(inputSch));
       
        //add a column of type tuple with different inner schema
        tupInSchema = new Schema(new FieldSchema("x", DataType.BYTEARRAY));
        inputSch.add(new FieldSchema("c", tupInSchema, DataType.TUPLE));
        //expect null inner schema
        expectedSch =
            Schema.generateNestedSchema(DataType.BAG, DataType.NULL);
        assertEquals("schema of tobag when input has cols of type tuple with diff inner schema",
                expectedSch, tb.outputSchema(inputSch));
View Full Code Here

   
    @Test
    public void testSchemaEqual1() {
       
        List<FieldSchema> innerList1 = new ArrayList<FieldSchema>() ;
        innerList1.add(new FieldSchema("11a", DataType.INTEGER)) ;
        innerList1.add(new FieldSchema("11b", DataType.LONG)) ;
       
        List<FieldSchema> innerList2 = new ArrayList<FieldSchema>() ;
        innerList2.add(new FieldSchema("11a", DataType.INTEGER)) ;
        innerList2.add(new FieldSchema("11b", DataType.LONG)) ;
       
        Schema innerSchema1 = new Schema(innerList1) ;
        Schema innerSchema2 = new Schema(innerList2) ;
               
        List<FieldSchema> list1 = new ArrayList<FieldSchema>() ;
        list1.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list1.add(new FieldSchema("1b", innerSchema1)) ;
        list1.add(new FieldSchema("1c", DataType.INTEGER)) ;
       
        List<FieldSchema> list2 = new ArrayList<FieldSchema>() ;
        list2.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list2.add(new FieldSchema("1b", innerSchema2)) ;
        list2.add(new FieldSchema("1c", DataType.INTEGER)) ;
       
        Schema schema1 = new Schema(list1) ;
        Schema schema2 = new Schema(list2) ;
       
        Assert.assertTrue(Schema.equals(schema1, schema2, false, false)) ;
View Full Code Here

    // Positive test
    @Test
    public void testSchemaEqualWithNullSchema1() {

        List<FieldSchema> list1 = new ArrayList<FieldSchema>() ;
        list1.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list1.add(new FieldSchema("1b", null)) ;
        list1.add(new FieldSchema("1c", DataType.INTEGER)) ;

        List<FieldSchema> list2 = new ArrayList<FieldSchema>() ;
        list2.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list2.add(new FieldSchema("1b", null)) ;
        list2.add(new FieldSchema("1c", DataType.INTEGER)) ;

        Schema schema1 = new Schema(list1) ;
        Schema schema2 = new Schema(list2) ;

        // First check
View Full Code Here

    @Test
    public void testNormalNestedMerge1() {
       
        // Generate two schemas
        List<FieldSchema> innerList1 = new ArrayList<FieldSchema>() ;
        innerList1.add(new FieldSchema("11a", DataType.INTEGER)) ;
        innerList1.add(new FieldSchema("11b", DataType.FLOAT)) ;
       
        List<FieldSchema> innerList2 = new ArrayList<FieldSchema>() ;
        innerList2.add(new FieldSchema("22a", DataType.DOUBLE)) ;
        innerList2.add(new FieldSchema(null, DataType.LONG)) ;
       
        Schema innerSchema1 = new Schema(innerList1) ;
        Schema innerSchema2 = new Schema(innerList2) ;
               
        List<FieldSchema> list1 = new ArrayList<FieldSchema>() ;
        list1.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list1.add(new FieldSchema("1b", innerSchema1)) ;
        list1.add(new FieldSchema("1c", DataType.LONG)) ;
       
        List<FieldSchema> list2 = new ArrayList<FieldSchema>() ;
        list2.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        list2.add(new FieldSchema("2b", innerSchema2)) ;
        list2.add(new FieldSchema("2c", DataType.INTEGER)) ;
       
        Schema schema1 = new Schema(list1) ;
        Schema schema2 = new Schema(list2) ;
       
        // Merge
        Schema mergedSchema = schema1.merge(schema2, true) ;
       
       
        // Generate expected schema
        List<FieldSchema> expectedInnerList = new ArrayList<FieldSchema>() ;
        expectedInnerList.add(new FieldSchema("22a", DataType.DOUBLE)) ;
        expectedInnerList.add(new FieldSchema("11b", DataType.FLOAT)) ;
       
        Schema expectedInner = new Schema(expectedInnerList) ;
       
        List<FieldSchema> expectedList = new ArrayList<FieldSchema>() ;
        expectedList.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        expectedList.add(new FieldSchema("2b", expectedInner)) ;
        expectedList.add(new FieldSchema("2c", DataType.LONG)) ;
       
        Schema expected = new Schema(expectedList) ;
       
        // Compare
        Assert.assertTrue(Schema.equals(mergedSchema, expected, false, false)) ;
View Full Code Here

    @Test
    public void testMergeNullSchemas1() throws Throwable {

        List<FieldSchema> innerList2 = new ArrayList<FieldSchema>() ;
        innerList2.add(new FieldSchema("22a", DataType.DOUBLE)) ;
        innerList2.add(new FieldSchema(null, DataType.LONG)) ;

        Schema innerSchema2 = new Schema(innerList2) ;

        List<FieldSchema> list1 = new ArrayList<FieldSchema>() ;
        list1.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list1.add(new FieldSchema("1b", null)) ;
        list1.add(new FieldSchema("1c", DataType.LONG)) ;

        List<FieldSchema> list2 = new ArrayList<FieldSchema>() ;
        list2.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        list2.add(new FieldSchema("2b", innerSchema2)) ;
        list2.add(new FieldSchema("2c", DataType.INTEGER)) ;

        Schema schema1 = new Schema(list1) ;
        Schema schema2 = new Schema(list2) ;

        // Merge
        Schema mergedSchema = Schema.mergeSchema(schema1,
                                                 schema2,
                                                 true,
                                                 false,
                                                 true) ;


        // Generate expected schema

        List<FieldSchema> expectedList = new ArrayList<FieldSchema>() ;
        expectedList.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        expectedList.add(new FieldSchema("2b", null)) ;
        expectedList.add(new FieldSchema("2c", DataType.LONG)) ;

        Schema expected = new Schema(expectedList) ;

        // Compare
        Assert.assertTrue(Schema.equals(mergedSchema, expected, false, false)) ;
View Full Code Here

        // Inner of inner schema
        Schema innerInner = new Schema(new ArrayList<FieldSchema>()) ;

        // Generate two schemas
        List<FieldSchema> innerList1 = new ArrayList<FieldSchema>() ;
        innerList1.add(new FieldSchema("11a", innerInner)) ;
        innerList1.add(new FieldSchema("11b", DataType.FLOAT)) ;

        List<FieldSchema> innerList2 = new ArrayList<FieldSchema>() ;
        innerList2.add(new FieldSchema("22a", null)) ;
        innerList2.add(new FieldSchema(null, DataType.LONG)) ;

        Schema innerSchema1 = new Schema(innerList1) ;
        Schema innerSchema2 = new Schema(innerList2) ;

        List<FieldSchema> list1 = new ArrayList<FieldSchema>() ;
        list1.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list1.add(new FieldSchema("1b", innerSchema1)) ;
        list1.add(new FieldSchema("1c", DataType.LONG)) ;

        List<FieldSchema> list2 = new ArrayList<FieldSchema>() ;
        list2.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        list2.add(new FieldSchema("2b", innerSchema2)) ;
        list2.add(new FieldSchema("2c", DataType.INTEGER)) ;

        Schema schema1 = new Schema(list1) ;
        Schema schema2 = new Schema(list2) ;

        // Merge
        Schema mergedSchema = Schema.mergeSchema(schema1,
                                                 schema2,
                                                 true,
                                                 false,
                                                 true) ;


        // Generate expected schema
        List<FieldSchema> expectedInnerList = new ArrayList<FieldSchema>() ;
        expectedInnerList.add(new FieldSchema("22a", null)) ;
        expectedInnerList.add(new FieldSchema("11b", DataType.FLOAT)) ;

        Schema expectedInner = new Schema(expectedInnerList) ;

        List<FieldSchema> expectedList = new ArrayList<FieldSchema>() ;
        expectedList.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        expectedList.add(new FieldSchema("2b", expectedInner)) ;
        expectedList.add(new FieldSchema("2c", DataType.LONG)) ;

        Schema expected = new Schema(expectedList) ;

        // Compare
        Assert.assertTrue(Schema.equals(mergedSchema, expected, false, false)) ;
View Full Code Here

    @Test
    public void testMergeDifferentSize1() throws Throwable {

        // Generate two schemas
        List<FieldSchema> innerList1 = new ArrayList<FieldSchema>() ;
        innerList1.add(new FieldSchema("11a", DataType.INTEGER)) ;
        innerList1.add(new FieldSchema("11b", DataType.FLOAT)) ;
        innerList1.add(new FieldSchema("11c", DataType.CHARARRAY)) ;

        List<FieldSchema> innerList2 = new ArrayList<FieldSchema>() ;
        innerList2.add(new FieldSchema("22a", DataType.DOUBLE)) ;
        innerList2.add(new FieldSchema(null, DataType.LONG)) ;

        Schema innerSchema1 = new Schema(innerList1) ;
        Schema innerSchema2 = new Schema(innerList2) ;

        List<FieldSchema> list1 = new ArrayList<FieldSchema>() ;
        list1.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list1.add(new FieldSchema("1b", innerSchema1)) ;
        list1.add(new FieldSchema("1c", DataType.LONG)) ;

        List<FieldSchema> list2 = new ArrayList<FieldSchema>() ;
        list2.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        list2.add(new FieldSchema("2b", innerSchema2)) ;
        list2.add(new FieldSchema("2c", DataType.INTEGER)) ;
        list2.add(new FieldSchema("2d", DataType.MAP)) ;

        Schema schema1 = new Schema(list1) ;
        Schema schema2 = new Schema(list2) ;

        // Merge
        Schema mergedSchema = Schema.mergeSchema(schema1,
                                                 schema2,
                                                 true,
                                                 true,
                                                 false) ;


        // Generate expected schema
        List<FieldSchema> expectedInnerList = new ArrayList<FieldSchema>() ;
        expectedInnerList.add(new FieldSchema("22a", DataType.DOUBLE)) ;
        expectedInnerList.add(new FieldSchema("11b", DataType.FLOAT)) ;
        expectedInnerList.add(new FieldSchema("11c", DataType.CHARARRAY)) ;

        Schema expectedInner = new Schema(expectedInnerList) ;

        List<FieldSchema> expectedList = new ArrayList<FieldSchema>() ;
        expectedList.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        expectedList.add(new FieldSchema("2b", expectedInner)) ;
        expectedList.add(new FieldSchema("2c", DataType.LONG)) ;
        expectedList.add(new FieldSchema("2d", DataType.MAP)) ;

        Schema expected = new Schema(expectedList) ;

        // Compare
        Assert.assertTrue(Schema.equals(mergedSchema, expected, false, false)) ;
View Full Code Here

TOP

Related Classes of org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema

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.