Package org.apache.hadoop.hive.common.type

Examples of org.apache.hadoop.hive.common.type.HiveDecimal.bigDecimalValue()


    public void set(ValueOption<?> target, Object value) {
        if (value == null) {
            target.setNull();
        } else if (primitive) {
            HiveDecimal entity = inspector.getPrimitiveJavaObject(value);
            ((DecimalOption) target).modify(entity.bigDecimalValue());
        } else {
            HiveDecimalWritable writable = inspector.getPrimitiveWritableObject(value);
            ((DecimalOption) target).modify(writable.getHiveDecimal().bigDecimalValue());
        }
    }
View Full Code Here


    return null;
  }

  private Object convertDecimalTypes(Object val, String javaColType) {
    HiveDecimal hd = (HiveDecimal) val;
    BigDecimal bd = hd.bigDecimalValue();

    if (javaColType.equals(BIG_DECIMAL_TYPE)) {
      return bd;
    } else if (javaColType.equals(STRING_TYPE)) {
      String bdStr = null;
View Full Code Here

    assertEquals(0, ts.getTime() % 1000);
    for (int nanos : new int[] { 100000, 900000, 999100000, 999900000 }) {
      ts.setNanos(nanos);
      HiveDecimal d = timestampToDecimal(ts);
      assertEquals(ts, TimestampWritable.decimalToTimestamp(d));
      assertEquals(ts, TimestampWritable.doubleToTimestamp(d.bigDecimalValue().doubleValue()));
    }
  }

  public void testSerializationFormatDirectly() throws IOException {
    assertEquals("1970-01-01 00:00:00", fromIntAndVInts(0).toString());
View Full Code Here

      HiveDecimalWritable hdw = new HiveDecimalWritable();
      hdw.set(scratch.getBytes(bufferUsed), dec.getScale());

      HiveDecimal hd = hdw.getHiveDecimal();

      BigDecimal readValue = hd.bigDecimalValue();

      Assert.assertEquals(value, readValue);

      // Now test fastUpdate from the same serialized HiveDecimal
      Decimal128 decRead = new Decimal128().fastUpdateFromInternalStorage(
View Full Code Here

      HiveDecimalWritable hdw = new HiveDecimalWritable();
      hdw.set(scratch.getBytes(bufferUsed), d.getScale());

      HiveDecimal hd = hdw.getHiveDecimal();

      BigDecimal readValue = hd.bigDecimalValue();

      Assert.assertEquals(d.toBigDecimal().stripTrailingZeros(),
          readValue.stripTrailingZeros());
    }
}
View Full Code Here

        assertEquals (key, (Long) expected, (Long) arr[0]);
      } else if (arr[0] instanceof HiveDecimalWritable) {
        HiveDecimalWritable hdw = (HiveDecimalWritable) arr[0];
        HiveDecimal hd = hdw.getHiveDecimal();
        Decimal128 d128 = (Decimal128)expected;
        assertEquals (key, d128.toBigDecimal(), hd.bigDecimalValue());
      } else if (arr[0] instanceof HiveDecimal) {
          HiveDecimal hd = (HiveDecimal) arr[0];
          Decimal128 d128 = (Decimal128)expected;
          assertEquals (key, d128.toBigDecimal(), hd.bigDecimalValue());
      } else {
View Full Code Here

        Decimal128 d128 = (Decimal128)expected;
        assertEquals (key, d128.toBigDecimal(), hd.bigDecimalValue());
      } else if (arr[0] instanceof HiveDecimal) {
          HiveDecimal hd = (HiveDecimal) arr[0];
          Decimal128 d128 = (Decimal128)expected;
          assertEquals (key, d128.toBigDecimal(), hd.bigDecimalValue());
      } else {
        Assert.fail("Unsupported result type: " + arr[0].getClass().getName());
      }
    }
  }
View Full Code Here

      DecimalColumnVector dcv = (DecimalColumnVector) colVec;
      if (value instanceof HiveDecimal) {
        dcv.vector[i].update(((HiveDecimal) value).bigDecimalValue());
      } else {
        HiveDecimal hd = ((WritableHiveDecimalObjectInspector) outputOI).getPrimitiveJavaObject(value);
        dcv.vector[i].update(hd.bigDecimalValue());
      }
    } else {
      throw new RuntimeException("Unhandled object type " + outputOI.getTypeName());
    }
  }
View Full Code Here

    HiveDecimal result = RoundUtils.round(inputHD, outputColVector.scale);
    if (result == null) {
      outputColVector.noNulls = false;
      outputColVector.isNull[i] = true;
    } else {
      outputColVector.vector[i].update(result.bigDecimalValue().toPlainString(), outputColVector.scale);
    }
  }

  public static void sign(int i, Decimal128 input, LongColumnVector outputColVector) {
    outputColVector.vector[i] = input.getSignum();
View Full Code Here

    assertEquals(0, ts.getTime() % 1000);
    for (int nanos : new int[] { 100000, 900000, 999100000, 999900000 }) {
      ts.setNanos(nanos);
      HiveDecimal d = timestampToDecimal(ts);
      assertEquals(ts, TimestampWritable.decimalToTimestamp(d));
      assertEquals(ts, TimestampWritable.doubleToTimestamp(d.bigDecimalValue().doubleValue()));
    }
  }

  @Test
  @Concurrent(count=4)
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.