Index: serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java =================================================================== --- serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java (revision 1494013) +++ serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java (working copy) @@ -847,7 +847,9 @@ result = new Timestamp(((IntObjectInspector) oi).get(o)); break; case LONG: - result = new Timestamp(((LongObjectInspector) oi).get(o)); + //Timestamp conversion from LONG is messy. Converting to double. + long tsLongPrimitive=((LongObjectInspector) oi).get(o); + result =TimestampWritable.doubleToTimestamp(tsLongPrimitive*1.0); break; case FLOAT: result = TimestampWritable.floatToTimestamp(((FloatObjectInspector) oi).get(o));