Package com.datasalt.pangool.io.Schema.Field

Examples of com.datasalt.pangool.io.Schema.Field.FieldSerializer


  public static FieldSerializer[] getSerializers(Schema schema){
    FieldSerializer[] result = new FieldSerializer[schema.getFields().size()];
    for (int i= 0 ; i < result.length; i++){
      Field field = schema.getField(i);
      if (field.getSerializerClass() != null){
        FieldSerializer ser = ReflectionUtils.newInstance(field.getSerializerClass(),null);
        ser.setProps(field.getProps());
        result[i] = ser;
      }
    }
    return result;
  }
View Full Code Here


    for(int i = 0; i < c.getElements().size(); i++) {
      Field field = schema.getField(i);
      SortElement e = c.getElements().get(i);
      Object o1 = w1.get(index1[i]);
      Object o2 = w2.get(index2[i]);
      FieldSerializer serializer = (serializers == null) ? null : serializers[i];
      int comparison = compareObjects(o1, o2, e.getCustomComparator(), field.getType(),serializer);
      if(comparison != 0) {
        return(e.getOrder() == Order.ASC ? comparison : -comparison);
      }
    }
View Full Code Here

      case DOUBLE:
      case BYTES:
        record.put(i, obj); //optimistic
        break;
      case OBJECT:
        FieldSerializer customSer = customSerializers[i];
        DataOutputBuffer buffer = buffers[i];
        buffer.reset();
        if (customSer != null){
          customSer.open(buffer);
          customSer.serialize(obj);
          customSer.close(); //TODO is this safe ?
        } else {
          hadoopSer.ser(obj, buffer);
        }
        //TODO this byteBuffer instances should be cached and reused
        ByteBuffer byteBuffer = ByteBuffer.wrap(buffer.getData(), 0,buffer.getLength());
View Full Code Here

TOP

Related Classes of com.datasalt.pangool.io.Schema.Field.FieldSerializer

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.