diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/KeyWrapperFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/KeyWrapperFactory.java index 22bd951..1c409a2 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/KeyWrapperFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/KeyWrapperFactory.java @@ -29,6 +29,7 @@ import org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector; import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory; import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils; +import org.apache.hadoop.io.DoubleWritable; import org.apache.hadoop.io.Text; public class KeyWrapperFactory { @@ -114,6 +115,9 @@ public void setHashKey() { if(element instanceof LazyDouble) { long v = Double.doubleToLongBits(((LazyDouble)element).getWritableObject().get()); hashcode = hashcode + (int) (v ^ (v >>> 32)); + } else if (element instanceof DoubleWritable){ + long v = Double.doubleToLongBits(((DoubleWritable)element).get()); + hashcode = hashcode + (int) (v ^ (v >>> 32)); } else { hashcode = hashcode + element.hashCode(); }