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;
}
}
Regards,
Sirisha Ch,
Phone:+91-9611482943
|