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

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


    @Test
    public void testMergeDifferentSize2() throws Throwable {


        List<FieldSchema> list1 = new ArrayList<FieldSchema>() ;
        list1.add(new FieldSchema("1a", DataType.BYTEARRAY)) ;
        list1.add(new FieldSchema("1b", DataType.BYTEARRAY)) ;
        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", DataType.BYTEARRAY)) ;
        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
View Full Code Here


    @Test
    public void testMergeMismatchType1() throws Throwable {

        // Generate two schemas
        List<FieldSchema> innerList1 = new ArrayList<FieldSchema>() ;
        innerList1.add(new FieldSchema("11a", DataType.CHARARRAY)) ;
        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.MAP)) ;

        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", DataType.BYTEARRAY)) ;
        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.BYTEARRAY)) ;

        Schema expected = new Schema(expectedList) ;

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

    @Test
    public void testMergeMismatchType2() throws Throwable {

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

        Schema innerSchema1 = new Schema(innerList1) ;

        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.MAP)) ;

        List<FieldSchema> list2 = new ArrayList<FieldSchema>() ;
        list2.add(new FieldSchema("2a", DataType.BYTEARRAY)) ;
        list2.add(new FieldSchema("2b", DataType.BYTEARRAY)) ;
        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", DataType.TUPLE)) ;
        expectedList.add(new FieldSchema("2c", DataType.BYTEARRAY)) ;

        Schema expected = new Schema(expectedList) ;

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

    @Test
    public void testMergeMismatchType3()  {

      // Generate two schemas
        List<FieldSchema> innerList1 = new ArrayList<FieldSchema>() ;
        innerList1.add(new FieldSchema("11a", DataType.CHARARRAY)) ;
        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.MAP)) ;

        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.MAP)) ;

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

        // Merge
View Full Code Here

    @Test
    public void testMergeDifferentSizeAndTypeMismatch1() 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.CHARARRAY)) ;
        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.INTEGER)) ;
        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.CHARARRAY)) ;
        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,
                                                 true) ;


        // Generate expected schema
        List<FieldSchema> expectedInnerList = new ArrayList<FieldSchema>() ;
        expectedInnerList.add(new FieldSchema("22a", DataType.BYTEARRAY)) ;
        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

   
    @Test
    public void testSchemaEqualTwoLevelAccess() throws Exception {
       
        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) ;       
     
        Schema.FieldSchema bagFs1 = new Schema.FieldSchema("b", schema1, DataType.BAG);
View Full Code Here

            description = "autogenerated from Pig Field Schema";
            Schema inner = fieldSchema.schema;
            if (type == DataType.BAG && fieldSchema.schema != null
                    && !fieldSchema.schema.isTwoLevelAccessRequired()) {
                log.info("Insert two-level access to Resource Schema");
                FieldSchema fs = new FieldSchema("t", fieldSchema.schema);
                inner = new Schema(fs);               
            }
           
            // allow partial schema
            if ((type == DataType.BAG || type == DataType.TUPLE)
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

        if (columnsToRead == null) {

            fieldschema = new ArrayList<FieldSchema>(cols.size());

            for(int i = 0; i < cols.size(); i++){
                fieldschema.add(new FieldSchema(cols.get(i), HiveRCSchemaUtil.findPigDataType(types.get(i))));
            }


        } else {
            //compile list for column filtering
            Set<String> columnToReadList = HiveRCSchemaUtil.compileSet(columnsToRead);

            if(columnToReadList.size() < 1)
                throw new RuntimeException("Error parsing columns: " + columnsToRead);

            applyColumnRead = true;
            int columnToReadLen = columnToReadList.size();

            fieldschema = new ArrayList<FieldSchema>(columnToReadLen);


            //--- create Pig Schema and add columnToReadPositions.
            columnToReadPositions = new int[columnToReadLen];

            int len = cols.size();
            String columnName = null;
            int colArrayPosindex = 0;

            for(int i = 0; i < len; i++){
                //i is the column position
                columnName = cols.get(i);
                if(columnToReadList.contains(columnName)){
                    //if the column is contained in the columnList then add its position to the columnPositions array and to the pig schema
                    columnToReadPositions[colArrayPosindex++] = i;

                    fieldschema.add(new FieldSchema(columnName, HiveRCSchemaUtil.findPigDataType(types.get(i))));
                }

            }


            //sort column positions
            Arrays.sort(columnToReadPositions);

        }

        if(includeDayDateColumn){
            fieldschema.add(new FieldSchema(DAY_DATE_COLUMN, DataType.CHARARRAY));
        }

        pigSchema = new ResourceSchema(new Schema(fieldschema));

        props =  new Properties();
View Full Code Here

        constant1.setFieldSchema(new Schema.FieldSchema(null, innerTupleSchema, DataType.TUPLE));
        LOConst constant2 =  new LOConst(plan, genNewOperatorKey(), tuple) ;
        constant2.setType(DataType.TUPLE) ;
        constant2.setFieldSchema(new Schema.FieldSchema(null, tupleSchema, DataType.TUPLE));
        LOCast cast1 = new LOCast(plan, genNewOperatorKey(), DataType.TUPLE) ;
        cast1.setFieldSchema(new FieldSchema(null, castSchema, DataType.TUPLE));
       
        LOEqual equal1 = new LOEqual(plan, genNewOperatorKey()) ;
       
        plan.add(constant1) ;
        plan.add(constant2) ;
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.