private void convertToJavaObjects(Object[] mapredObjs, Object[] results, boolean convertToJavaObject) { for (int i = 0; i < mapredObjs.length; i++) { Object o = mapredObjs[i]; if (o instanceof LongMutable) o = ((LongMutable) o).get(); else if (o instanceof DoubleMutable) o = ((DoubleMutable) o).get(); results[i] = o; } }
public void setDatatype(String datatype) { //logger.info("setting datatype to " + datatype); this.datatype = datatype; type = DataType.getType(datatype); }
@BeforeClass public static void beforeClass() { staticCreateTestMetadata(); bigDecimalSerializer = new BigDecimalSerializer(DataType.getType("decimal")); }
public TopNCounterSerializer(DataType dataType) { this.precision = dataType.getPrecision(); this.scale = dataType.getScale(); if (scale < 0) { scale = DictionaryDimEnc.MAX_ENCODING_LENGTH; } }
public StringSerializer(DataType type) { this.type = type; // see serialize(): 2 byte length, rest is String.toBytes() this.maxLength = 2 + type.getPrecision(); }
public String min(Collection<String> values) { String min = null; for (String v : values) { min = min(min, v); } return min; }
public String max(Collection<String> values) { String max = null; for (String v : values) { max = max(max, v); } return max; }
public void decode(ByteBuffer buf, Object[] result) { assert result.length == nMeasures; for (int i = 0; i < nMeasures; i++) { result[i] = serializers[i].deserialize(buf); } }
@Override public void encodeColumnValue(int col, Object value, int roundingFlag, ByteBuffer buf) { DataTypeSerializer serializer = serializers[col]; serializer.serialize(value, buf); }
public boolean needCompare() { if (isComplexType(this) || isBoolean()) { return false; } return true; }
private void init(DataType[] dataTypes) { nMeasures = dataTypes.length; serializers = new DataTypeSerializer[nMeasures]; for (int i = 0; i < nMeasures; i++) { serializers[i] = DataTypeSerializer.create(dataTypes[i]); } }
public String min(String v1, String v2) { if (v1 == null) return v2; else if (v2 == null) return v1; else return compare(v1, v2) <= 0 ? v1 : v2; }
/** Convert from obj to string */ public String toString(T value) { return dimDataTypeSerializer.toString(value); } }
public DataTypeOrder getOrder() { if (order == null) order = DataTypeOrder.getInstance(this); return order; }
public DateDimValueCodec(String[] args) { if (args != null && args.length == 1) { datatype = DataType.getType(args[0]); } }
public BigDecimalSerializer(DataType type) { this.type = type; // see serialize(): 1 byte scale, 1 byte length, assume every 2 digits takes 1 byte this.maxLength = 1 + 1 + (type.getPrecision() + 1) / 2; }
@Override public int getMemBytesEstimate() { return dataType.getPrecision() / 2; } };