private static LazyString lazyString(String string) { LazyString lazyString = new LazyString(LAZY_STRING_OBJECT_INSPECTOR); lazyString.init(newByteArrayRef(string), 0, string.length()); return lazyString; }
@Override public Text getPrimitiveWritableObject(Object o) { return o == null ? null : ((LazyString) o).getWritableObject(); }
@Override public Object copyObject(Object o) { return o == null ? null : new LazyString((LazyString) o); }
@Override public void iterate(AggregationBuffer aggregationBuffer, Object[] parameters) throws HiveException { if (parameters[0] == null) { return; } int param = -1; if (parameters.length >= 2) { String type = PrimitiveObjectInspectorUtils.getString(parameters[1], typeOI); ce = CardinalityEstimator.valueOf(type.toUpperCase()); } if (parameters.length == 3) { param = PrimitiveObjectInspectorUtils.getInt(parameters[2], paramOI); } CardinalityEstimatorBuffer ceb = (CardinalityEstimatorBuffer) aggregationBuffer; Object obj = parameters[0]; if (inputPrimitiveOI != null) { // in this case, we process the object directly if (ceb.cardinalityEstimator == null) { initEstimator(param, ceb); } ceb.cardinalityEstimator.offer(obj); } else if (inputStructOI != null) { // in this case we merge estimators LazyString type = (LazyString) inputStructOI.getStructFieldData(obj, inputStructOI.getStructFieldRef(ESTIMATOR_TYPE)); LazyBinary lb = (LazyBinary) inputStructOI.getStructFieldData(obj, inputStructOI.getStructFieldRef(BINARY)); ICardinality that = buildEstimator(lb.getWritableObject(), type.toString()); mergeEstimators(that, ceb); } }
return new LazyDouble((LazyDoubleObjectInspector) oi); case STRING: return new LazyString((LazyStringObjectInspector) oi); case CHAR: return new LazyHiveChar((LazyHiveCharObjectInspector) oi);
@Override public String getPrimitiveJavaObject(Object o) { return o == null ? null : ((LazyString) o).getWritableObject().toString(); }
@Nonnull public static LazyString lazyString(@Nonnull final String str, @Nonnull final LazyStringObjectInspector oi) { LazyString lazy = new LazyString(oi); ByteArrayRef ref = new ByteArrayRef(); byte[] data = str.getBytes(StandardCharsets.UTF_8); ref.setData(data); lazy.init(ref, 0, data.length); return lazy; }
@Override public Object copyObject(Object o) { return o == null ? null : new LazyString((LazyString) o); }
new Text("def"), ((LazyString)b.getMapValueElement( new IntWritable(2))).getWritableObject()); new Text("0"), ((LazyString)b.getMapValueElement( new IntWritable(0))).getWritableObject()); new IntWritable(8))).getWritableObject());
private static LazyString lazyString(String string) { LazyString lazyString = new LazyString(LAZY_STRING_OBJECT_INSPECTOR); lazyString.init(newByteArrayRef(string), 0, string.length()); return lazyString; }
@Override public Object copyObject(Object o) { return o == null ? null : new LazyString((LazyString) o); }
new Text("d\tf"), ((LazyString)b.getMapValueElement( new Text("2"))).getWritableObject()); new Text("0"), ((LazyString)b.getMapValueElement( new Text("0"))).getWritableObject()); new Text("8"))).getWritableObject());
private static LazyString lazyString(String string) { LazyString lazyString = new LazyString(LAZY_STRING_OBJECT_INSPECTOR); lazyString.init(newByteArrayRef(string), 0, string.length()); return lazyString; }
@Override public Object copyObject(Object o) { return o == null ? null : new LazyString((LazyString) o); }
throw new RuntimeException("Text expected writable not Text"); Text value = ((LazyString) primitiveObject).getWritableObject(); Text expected = ((Text) expectedObject); if (!value.equals(expected)) {
private static LazyString lazyString(String string) { LazyString lazyString = new LazyString(LAZY_STRING_OBJECT_INSPECTOR); lazyString.init(newByteArrayRef(string), 0, string.length()); return lazyString; }
@Override public Object copyObject(Object o) { return o == null ? null : new LazyString((LazyString) o); }
@Override public Text getPrimitiveWritableObject(Object o) { return o == null ? null : ((LazyString) o).getWritableObject(); }
private static LazyString lazyString(String string) { LazyString lazyString = new LazyString(LAZY_STRING_OBJECT_INSPECTOR); lazyString.init(newByteArrayRef(string), 0, string.length()); return lazyString; }
@Override public Object copyObject(Object o) { return o == null ? null : new LazyString((LazyString) o); }