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

Examples of org.apache.hadoop.hive.common.type.HiveDecimal


      outputColVector.isNull[i] = true;
    }
  }

  public static void round(int i, Decimal128 input, DecimalColumnVector outputColVector) {
    HiveDecimal inputHD = HiveDecimal.create(input.toBigDecimal());
    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);
    }
  }
View Full Code Here


    // We need to enforce precision/scale here.
    // A little inefficiency here as we need to create a HiveDecimal instance from the writable and
    // recreate a HiveDecimalWritable instance on the HiveDecimal instance. However, we don't know
    // the precision/scale of the original writable until we get a HiveDecimal instance from it.
    DecimalTypeInfo decTypeInfo = (DecimalTypeInfo)typeInfo;
    HiveDecimal dec = value == null ? null :
      value.getHiveDecimal(decTypeInfo.precision(), decTypeInfo.scale());
    if (dec == null) {
      return null;
    }
    return new HiveDecimalWritable(dec);
View Full Code Here

    }
  }

  @Override
  public Object set(Object o, HiveDecimal t) {
    HiveDecimal dec = enforcePrecisionScale(t);
    if (dec != null) {
      ((HiveDecimalWritable) o).set(dec);
      return o;
    } else {
      return null;
View Full Code Here

    return result;
  }

  public static HiveDecimal getHiveDecimalFromByteBuffer(ByteBuffer byteBuffer, int scale) {
    byte[] result = getBytesFromByteBuffer(byteBuffer);
    HiveDecimal dec = HiveDecimal.create(new BigInteger(result), scale);
    return dec;
  }
View Full Code Here

      isNull = true;
      LOG.debug("Data not in the HiveDecimal data type range so converted to null.", e);
      return;
    }

    HiveDecimal dec = HiveDecimal.create(byteData);
    dec = enforcePrecisionScale(dec);
    if (dec != null) {
      data.set(dec);
      isNull = false;
    } else {
View Full Code Here

        scale = fileSchema.getJsonProp(AvroSerDe.AVRO_PROP_SCALE).getIntValue();
      } catch(Exception ex) {
        throw new AvroSerdeException("Failed to obtain scale value from file schema: " + fileSchema, ex);
      }

      HiveDecimal dec = AvroSerdeUtils.getHiveDecimalFromByteBuffer((ByteBuffer) datum, scale);
      JavaHiveDecimalObjectInspector oi = (JavaHiveDecimalObjectInspector)
          PrimitiveObjectInspectorFactory.getPrimitiveJavaObjectInspector((DecimalTypeInfo)columnType);
      return oi.set(null, dec);
    case CHAR:
      if (fileSchema == null) {
View Full Code Here

          Date date;
          date = Date.valueOf(t);
          row.set(c, date);
          break;
        case DECIMAL:
          HiveDecimal bd = HiveDecimal.create(t);
          row.set(c, bd);
          break;
        case CHAR:
          HiveChar hc = new HiveChar(t, ((CharTypeInfo) typeInfo).getLength());
          row.set(c, hc);
View Full Code Here

      DecimalTypeInfo typeInfo) {
    if (writable == null) {
      return null;
    }

    HiveDecimal dec = enforcePrecisionScale(writable.getHiveDecimal(), typeInfo);
    return dec == null ? null : new HiveDecimalWritable(dec);
  }
View Full Code Here

      int precision, int scale) {
    if (writable == null) {
      return null;
    }

    HiveDecimal dec = enforcePrecisionScale(writable.getHiveDecimal(), precision, scale);
    return dec == null ? null : new HiveDecimalWritable(dec);
  }
View Full Code Here

  public int compareTo(HiveDecimalWritable that) {
    return getHiveDecimal().compareTo(that.getHiveDecimal());
  }

  public static void writeToByteStream(Decimal128 dec, Output byteStream) {
    HiveDecimal hd = HiveDecimal.create(dec.toBigDecimal());
    LazyBinaryUtils.writeVInt(byteStream, hd.scale());
    byte[] bytes = hd.unscaledValue().toByteArray();
    LazyBinaryUtils.writeVInt(byteStream, bytes.length);
    byteStream.write(bytes, 0, bytes.length);
  }
View Full Code Here

TOP

Related Classes of org.apache.hadoop.hive.common.type.HiveDecimal

Copyright © 2018 www.massapicom. 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.