Package org.apache.hadoop.hive.serde2.objectinspector

Examples of org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector


            throw new UDFArgumentException("Usage : json_map( jsonstring, optional typestring) ");
        }
        if(!(arguments[1] instanceof ConstantObjectInspector)) {
            throw new UDFArgumentException("json_map( jsonstring, typestring ) : typestring must be a constant");
        }
        ConstantObjectInspector constInsp = (ConstantObjectInspector) arguments[1];
        String typeStr = ((Text) constInsp.getWritableConstantValue()).toString();
       
        String[] types = typeStr.split(",");
        if( types.length != 2) {
            throw new UDFArgumentException(" typestring must be of the form <keytype>,<valuetype>");
        }
View Full Code Here


      if( !(arg0[1] instanceof ConstantObjectInspector
        || !(arg0[1] instanceof StringObjectInspector)
        || !( arg0[0] instanceof PrimitiveObjectInspector)) {
        throw new UDFArgumentException( usage("2 arguments is eiter key and filename, or a filename and maptype"));
      }
          ConstantObjectInspector mapType = (ConstantObjectInspector)arg0[1];
      String typeStr = mapType.getWritableConstantValue().toString();
      try {
        //// able to parse map type ...
        MapObjectInspector mapInsp = getMapType( typeStr);
        keyType =  TypeInfoFactory.getPrimitiveTypeInfo( mapInsp.getMapKeyObjectInspector().getTypeName());
        valType =  TypeInfoFactory.getPrimitiveTypeInfo( mapInsp.getMapValueObjectInspector().getTypeName());
        fileNameInspector = (StringObjectInspector) arg0[0];
          return ObjectInspectorUtils.getStandardObjectInspector(mapInsp);
       
      } catch(UDFArgumentException checkMapType ) {
        /// Assume that it is key, filename
        this.keyInspector = (PrimitiveObjectInspector) arg0[0];
        keyType =  TypeInfoFactory.getPrimitiveTypeInfo( keyInspector.getTypeName());
        valType =  TypeInfoFactory.doubleTypeInfo;
        this.fileNameInspector = (StringObjectInspector) arg0[1];
        //// Default case is  string, double
        return PrimitiveObjectInspectorFactory.javaDoubleObjectInspector;
      }
    case 3:
      //// key , filename , maptype
      if( !( arg0[1] instanceof ConstantObjectInspector)
        || !( arg0[1] instanceof StringObjectInspector
          || !(arg0[2] instanceof ConstantObjectInspector)
        || !( arg0[2] instanceof StringObjectInspector)
        || !( arg0[0] instanceof PrimitiveObjectInspector)) {
        throw new UDFArgumentException( usage("3 arguments are key,filename and maptype"));
      }
      fileNameInspector = (StringObjectInspector) arg0[1];
     
      ConstantObjectInspector mapType3 = (ConstantObjectInspector)arg0[2];
      String typeStr3 = mapType3.getWritableConstantValue().toString();
      MapObjectInspector mapInspect = this.getMapType(typeStr3);
     
      keyInspector = (PrimitiveObjectInspector) arg0[0];
      if(keyInspector.getPrimitiveCategory() !=
        ((PrimitiveObjectInspector)mapInspect.getMapKeyObjectInspector() ).getPrimitiveCategory() ) {
View Full Code Here

    if( arg0[1].getCategory() == Category.PRIMITIVE
            && ((PrimitiveObjectInspector)arg0[1]).getPrimitiveCategory() == PrimitiveCategory.STRING) {
        if( !( arg0[1] instanceof ConstantObjectInspector) ) {
           throw new UDFArgumentException("typeinfo string must be constant");
        }
        ConstantObjectInspector typeInsp = (ConstantObjectInspector) arg0[1];
       
        String typeStr = typeInsp.getWritableConstantValue().toString();
        inspHandle = InspectorHandle.InspectorHandleFactory.GenerateInspectorHandleFromTypeInfo(typeStr);
    } else {
      inspHandle = InspectorHandle.InspectorHandleFactory.GenerateInspectorHandle( arg0[1]);
    }
   
View Full Code Here

          if( parameters.length > 1 && m == Mode.PARTIAL1) {
              //// get the sketch set size from the second parameters
             if(!( parameters[1] instanceof ConstantObjectInspector ) ) {
                 throw new HiveException("Sketch Set size must be a constant");
             }
             ConstantObjectInspector sizeOI = (ConstantObjectInspector) parameters[1];
             this.sketchSetSize = ((IntWritable) sizeOI.getWritableConstantValue()).get();
           } else {
             sketchSetSize = DEFAULT_SKETCH_SET_SIZE;
           }
       
      } else { /// Mode m == Mode.PARTIAL2 || m == Mode.FINAL
View Full Code Here

        if( parameters.length > 1 && m == Mode.PARTIAL1) {
           //// get the sketch set size from the second parameters
          if(!( parameters[1] instanceof ConstantObjectInspector ) ) {
              throw new HiveException("Sketch Set size must be a constant");
          }
          ConstantObjectInspector sizeOI = (ConstantObjectInspector) parameters[1];
            this.sketchSetSize = ((IntWritable) sizeOI.getWritableConstantValue()).get();
        } else {
          sketchSetSize = DEFAULT_SKETCH_SET_SIZE;
        }
      } else { /// Mode m == Mode.PARTIAL2 || m == Mode.FINAL
         /// merge() gets called ... map is passed in ..
View Full Code Here

                   StreamFactory writer,
                   boolean nullable, Configuration conf,
                   boolean useVInts, boolean lowMemoryMode,
                   MemoryEstimate memoryEstimate) throws IOException {
      super(columnId, inspector, writer, nullable, conf, useVInts, memoryEstimate);
      ListObjectInspector listObjectInspector = (ListObjectInspector) inspector;
      childrenWriters = new TreeWriter[1];
      childrenWriters[0] =
        createTreeWriter(listObjectInspector.getListElementObjectInspector(),
          writer, true, conf, useVInts, lowMemoryMode, memoryEstimate);
      lengths =
        new RunLengthIntegerWriter(writer.createStream(columnId,
            OrcProto.Stream.Kind.LENGTH), false, INT_BYTE_SIZE, useVInts);
      recordPosition(rowIndexPosition);
View Full Code Here

    @Override
    void write(Object obj) throws IOException {
      long rawDataSize = 0;
      if (obj != null) {
        ListObjectInspector insp = (ListObjectInspector) inspector;
        int len = insp.getListLength(obj);
        lengths.write(len);
        for(int i=0; i < len; ++i) {
          childrenWriters[0].write(insp.getListElement(obj, i));
          rawDataSize += childrenWriters[0].getRowRawDataSize();
        }
      }
      super.write(obj, rawDataSize);
    }
View Full Code Here

        getStructFieldRef("string1").getFieldObjectInspector();
    StructObjectInspector mid = (StructObjectInspector) readerInspector.
        getStructFieldRef("middle").getFieldObjectInspector();
    List<? extends StructField> midFields =
        mid.getAllStructFieldRefs();
    ListObjectInspector midli =
        (ListObjectInspector) midFields.get(0).getFieldObjectInspector();
    StructObjectInspector inner = (StructObjectInspector)
        midli.getListElementObjectInspector();
    List<? extends StructField> inFields = inner.getAllStructFieldRefs();
    IntObjectInspector inner_in = (IntObjectInspector) inFields.get(0).getFieldObjectInspector();
    StringObjectInspector inner_st = (StringObjectInspector) inFields.get(1).getFieldObjectInspector();
    ListObjectInspector li = (ListObjectInspector) readerInspector.
        getStructFieldRef("list").getFieldObjectInspector();
    MapObjectInspector ma = (MapObjectInspector) readerInspector.
        getStructFieldRef("map").getFieldObjectInspector();
    StructObjectInspector lc = (StructObjectInspector)
        li.getListElementObjectInspector();
    StringObjectInspector mk = (StringObjectInspector)
        ma.getMapKeyObjectInspector();
    StructObjectInspector mv = (StructObjectInspector)
        ma.getMapValueObjectInspector();
    RecordReader rows = reader.rows(null);
    Object row = rows.next(null);
    assertNotNull(row);
    // check the contents of the first row
    assertEquals(false,
        bo.get(readerInspector.getStructFieldData(row, fields.get(0))));
    assertEquals(1, by.get(readerInspector.getStructFieldData(row,
        fields.get(1))));
    assertEquals(1024, sh.get(readerInspector.getStructFieldData(row,
        fields.get(2))));
    assertEquals(65536, in.get(readerInspector.getStructFieldData(row,
        fields.get(3))));
    assertEquals(Long.MAX_VALUE, lo.get(readerInspector.
        getStructFieldData(row, fields.get(4))));
    assertEquals(1.0, fl.get(readerInspector.getStructFieldData(row,
        fields.get(5))), 0.00001);
    assertEquals(-15.0, dbl.get(readerInspector.getStructFieldData(row,
        fields.get(6))), 0.00001);
    assertEquals(bytes(0,1,2,3,4), bi.getPrimitiveWritableObject(
        readerInspector.getStructFieldData(row, fields.get(7))));
    assertEquals("hi", st.getPrimitiveJavaObject(readerInspector.
        getStructFieldData(row, fields.get(8))));
    List<?> midRow = midli.getList(mid.getStructFieldData(readerInspector.
        getStructFieldData(row, fields.get(9)), midFields.get(0)));
    assertNotNull(midRow);
    assertEquals(2, midRow.size());
    assertEquals(1, inner_in.get(inner.getStructFieldData(midRow.get(0),
        inFields.get(0))));
    assertEquals("bye", inner_st.getPrimitiveJavaObject(inner.getStructFieldData
        (midRow.get(0), inFields.get(1))));
    assertEquals(2, inner_in.get(inner.getStructFieldData(midRow.get(1),
        inFields.get(0))));
    assertEquals("sigh", inner_st.getPrimitiveJavaObject(inner.getStructFieldData
        (midRow.get(1), inFields.get(1))));
    List<?> list = li.getList(readerInspector.getStructFieldData(row,
        fields.get(10)));
    assertEquals(2, list.size());
    assertEquals(3, inner_in.get(inner.getStructFieldData(list.get(0),
        inFields.get(0))));
    assertEquals("good", inner_st.getPrimitiveJavaObject(inner.getStructFieldData
        (list.get(0), inFields.get(1))));
    assertEquals(4, inner_in.get(inner.getStructFieldData(list.get(1),
        inFields.get(0))));
    assertEquals("bad", inner_st.getPrimitiveJavaObject(inner.getStructFieldData
        (list.get(1), inFields.get(1))));
    Map<?,?> map = ma.getMap(readerInspector.getStructFieldData(row,
        fields.get(11)));
    assertEquals(0, map.size());

    // check the contents of second row
    assertEquals(true, rows.hasNext());
    row = rows.next(row);
    assertEquals(true,
        bo.get(readerInspector.getStructFieldData(row, fields.get(0))));
    assertEquals(100, by.get(readerInspector.getStructFieldData(row,
        fields.get(1))));
    assertEquals(2048, sh.get(readerInspector.getStructFieldData(row,
        fields.get(2))));
    assertEquals(65536, in.get(readerInspector.getStructFieldData(row,
        fields.get(3))));
    assertEquals(Long.MAX_VALUE, lo.get(readerInspector.
        getStructFieldData(row, fields.get(4))));
    assertEquals(2.0, fl.get(readerInspector.getStructFieldData(row,
        fields.get(5))), 0.00001);
    assertEquals(-5.0, dbl.get(readerInspector.getStructFieldData(row,
        fields.get(6))), 0.00001);
    assertEquals(bytes(), bi.getPrimitiveWritableObject(
        readerInspector.getStructFieldData(row, fields.get(7))));
    assertEquals("bye", st.getPrimitiveJavaObject(readerInspector.
        getStructFieldData(row, fields.get(8))));
    midRow = midli.getList(mid.getStructFieldData(readerInspector.
        getStructFieldData(row, fields.get(9)), midFields.get(0)));
    assertNotNull(midRow);
    assertEquals(2, midRow.size());
    assertEquals(1, inner_in.get(inner.getStructFieldData(midRow.get(0),
        inFields.get(0))));
    assertEquals("bye", inner_st.getPrimitiveJavaObject(inner.getStructFieldData
        (midRow.get(0), inFields.get(1))));
    assertEquals(2, inner_in.get(inner.getStructFieldData(midRow.get(1),
        inFields.get(0))));
    assertEquals("sigh", inner_st.getPrimitiveJavaObject(inner.getStructFieldData
        (midRow.get(1), inFields.get(1))));
    list = li.getList(readerInspector.getStructFieldData(row,
        fields.get(10)));
    assertEquals(3, list.size());
    assertEquals(100000000, inner_in.get(inner.getStructFieldData(list.get(0),
        inFields.get(0))));
    assertEquals("cat", inner_st.getPrimitiveJavaObject(inner.getStructFieldData
View Full Code Here

                  StreamFactory writer,
                  boolean nullable, Configuration conf,
                  boolean useVInts, boolean lowMemoryMode,
                  MemoryEstimate memoryEstimate) throws IOException {
      super(columnId, inspector, writer, nullable, conf, useVInts, memoryEstimate);
      MapObjectInspector insp = (MapObjectInspector) inspector;
      childrenWriters = new TreeWriter[2];
      childrenWriters[0] =
        createTreeWriter(insp.getMapKeyObjectInspector(), writer, true, conf, useVInts,
            lowMemoryMode, memoryEstimate);
      childrenWriters[1] =
        createTreeWriter(insp.getMapValueObjectInspector(), writer, true, conf, useVInts,
            lowMemoryMode, memoryEstimate);
      lengths =
        new RunLengthIntegerWriter(writer.createStream(columnId,
            OrcProto.Stream.Kind.LENGTH), false, INT_BYTE_SIZE, useVInts);
      recordPosition(rowIndexPosition);
View Full Code Here

    @Override
    void write(Object obj) throws IOException {
      long rawDataSize = 0;
      if (obj != null) {
        MapObjectInspector insp = (MapObjectInspector) inspector;
        // this sucks, but it will have to do until we can get a better
        // accessor in the MapObjectInspector.
        Map<?, ?> valueMap = insp.getMap(obj);
        // Don't use getMapSize(), it's inconsistent for some object inspectors
        int len = valueMap.size();
        lengths.write(len);
        for(Map.Entry<?, ?> entry: valueMap.entrySet()) {
          childrenWriters[0].write(entry.getKey());
View Full Code Here

TOP

Related Classes of org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector

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.