Hi,

can You guys tell me if below peice of two codes are returning the same
thing?

(((DoubleObjectInspector) ins2).get(obj)); and (DoubleWritable)obj).get(); from
below two  codes


code 1)

public Object get(Object name) {
          int pos = getPos((String)name);
  if(pos<0) return null;
  String f = "string";
          Object obj= list.get(pos);
  if(obj==null) return null;
  ObjectInspector ins = ((StructField)colnames.get(
pos)).getFieldObjectInspector();
  if(ins!=null) f = ins.getTypeName();
  switch (f) {
    case "double" :  return ((DoubleWritable)obj).get();
            case "bigint" :  return ((LongWritable)obj).get();
            case "string" :  return ((Text)obj).toString();
    default  :  return obj;
  }
}


Code 2)

public Object get(Object name) {

                int pos = getPos((String) name);

                if (pos < 0)

                        return null;

                String f = "string";

                String f1 = "string";

                Object obj = list.get(pos);



                if (obj == null)

                        return null;

                ObjectInspector ins = ((StructField) colnames.get(pos)).
getFieldObjectInspector();

                if (ins != null)

                        f = ins.getTypeName();





                PrimitiveObjectInspector ins2 = (PrimitiveObjectInspector)
ins;

                f1 = ins2.getPrimitiveCategory().name();





               switch (ins2.getPrimitiveCategory()) {

                case DOUBLE:



                        return (((DoubleObjectInspector) ins2).get(obj));



                case LONG:



                       return  (((LongObjectInspector) ins2).get(obj));



               case STRING:

                        return (((StringObjectInspector)
ins2).getPrimitiveJavaObject(obj)).toString();



                default:    return obj;

                }

 }

Reply via email to