public long murmur3(Object objVal) throws HiveException {
    Object p = objVal;
    switch (type) {
      case BYTE:
      case SHORT:
      case INT:
      case LONG:
      case TIMESTAMP: {
        long val = PrimitiveObjectInspectorUtils.getLong(objVal, inputOI);
        LONG_BUFFER.putLong(0, val);
        return Murmur3.hash64(LONG_BUFFER.array());
      }
      case FLOAT:
      case DOUBLE: {
        double val = PrimitiveObjectInspectorUtils.getDouble(objVal, inputOI);
        LONG_BUFFER.putDouble(0, val);
        return Murmur3.hash64(LONG_BUFFER.array());
      }
      case STRING:
      case CHAR:
      case VARCHAR: {
        String val = PrimitiveObjectInspectorUtils.getString(objVal, inputOI);
        return Murmur3.hash64(val.getBytes());
      }
      case DECIMAL: {
          HiveDecimal decimal = PrimitiveObjectInspectorUtils.getHiveDecimal(p, inputOI);
          LONG_BUFFER.putDouble(0, decimal.doubleValue());
          return Murmur3.hash64(LONG_BUFFER.array());
        }
      case DATE:
          DateWritable v = new DateWritable((DateWritable) inputOI.getPrimitiveWritableObject(p));
          int days = v.getDays();
          LONG_BUFFER.putLong(0, days);
          return Murmur3.hash64(LONG_BUFFER.array());
      case BOOLEAN:
      case BINARY:
      default:
        throw new HiveException("type: " + type + " is not supported");
    }
  }
This class could be used to map Hive values type to Murmur3 hash values.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/HiveMurmur3Adapter.java