} else {
bdStr = bd.toString();
}
if (hfsType == HCatFieldSchema.Type.VARCHAR) {
VarcharTypeInfo vti = (VarcharTypeInfo) hfs.getTypeInfo();
HiveVarchar hvc = new HiveVarchar(bdStr, vti.getLength());
return hvc;
} else if (hfsType == HCatFieldSchema.Type.VARCHAR) {
CharTypeInfo cti = (CharTypeInfo) hfs.getTypeInfo();
HiveChar hChar = new HiveChar(bdStr, cti.getLength());
return hChar;
} else {
return bdStr;
}
}
Number n = (Number) val;
if (hfsType == HCatFieldSchema.Type.TINYINT) {
return n.byteValue();
} else if (hfsType == HCatFieldSchema.Type.SMALLINT) {
return n.shortValue();
} else if (hfsType == HCatFieldSchema.Type.INT) {
return n.intValue();
} else if (hfsType == HCatFieldSchema.Type.BIGINT) {
return n.longValue();
} else if (hfsType == HCatFieldSchema.Type.FLOAT) {
return n.floatValue();
} else if (hfsType == HCatFieldSchema.Type.DOUBLE) {
return n.doubleValue();
} else if (hfsType == HCatFieldSchema.Type.BOOLEAN) {
return n.byteValue() == 0 ? Boolean.FALSE : Boolean.TRUE;
} else if (hfsType == HCatFieldSchema.Type.STRING) {
return n.toString();
} else if (hfsType == HCatFieldSchema.Type.VARCHAR) {
VarcharTypeInfo vti = (VarcharTypeInfo) hfs.getTypeInfo();
HiveVarchar hvc = new HiveVarchar(val.toString(), vti.getLength());
return hvc;
} else if (hfsType == HCatFieldSchema.Type.CHAR) {
CharTypeInfo cti = (CharTypeInfo) hfs.getTypeInfo();
HiveChar hChar = new HiveChar(val.toString(), cti.getLength());
return hChar;