@Override public Object getWritableConstantValue() { if (value==null) { return null; } return new HiveVarcharWritable(value); } }
public LazyHiveVarchar(LazyHiveVarchar copy) { super(copy); this.maxLength = copy.maxLength; data = new HiveVarcharWritable(copy.data); }
LazyBinaryHiveVarchar(LazyBinaryHiveVarchar copy) { super(copy); maxLength = copy.maxLength; data = new HiveVarcharWritable(copy.data); }
public HiveVarcharTransformerAdapter(HiveVarcharObjectInspector columnType, AbstractTransformer transformer) { this(columnType, transformer, new HiveVarcharWritable()); }
private HiveVarcharWritable getWritableWithParams(HiveVarcharWritable val) { HiveVarcharWritable newValue = new HiveVarcharWritable(); newValue.set(val, getMaxLength()); return newValue; }
public LazyHiveVarchar(LazyHiveVarcharObjectInspector oi) { super(oi); maxLength = ((VarcharTypeInfo)oi.getTypeInfo()).getLength(); data = new HiveVarcharWritable(); }
@Override public Object create(HiveVarchar value) { HiveVarcharWritable ret; ret = new HiveVarcharWritable(); ret.set(value, getMaxLength()); return ret; }
LazyBinaryHiveVarchar(WritableHiveVarcharObjectInspector oi) { super(oi); maxLength = ((VarcharTypeInfo)oi.getTypeInfo()).getLength(); data = new HiveVarcharWritable(); }
private HiveVarcharWritable getWritableWithParams(HiveVarchar val) { HiveVarcharWritable newValue = new HiveVarcharWritable(); newValue.set(val, getMaxLength()); return newValue; }
public StringHelper(PrimitiveCategory type) throws UDFArgumentException { this.type = type; switch (type) { case STRING: returnValue = new Text(); break; case CHAR: returnValue = new HiveCharWritable(); break; case VARCHAR: returnValue = new HiveVarcharWritable(); break; default: throw new UDFArgumentException("Unexpected non-string type " + type); } }
@Override public HiveVarcharWritable getPrimitiveWritableObject(Object o) { final VarCharHolder h = (VarCharHolder)o; final HiveVarcharWritable valW = new HiveVarcharWritable(); valW.set(StringFunctionHelpers.toStringFromUTF8(h.start, h.end, h.buffer), HiveVarchar.MAX_VARCHAR_LENGTH); return valW; }
@Override public HiveVarcharWritable getPrimitiveWritableObject(Object o) { if (o == null) { return null; } final NullableVarCharHolder h = (NullableVarCharHolder)o; final HiveVarcharWritable valW = new HiveVarcharWritable(); valW.set(StringFunctionHelpers.toStringFromUTF8(h.start, h.end, h.buffer), HiveVarchar.MAX_VARCHAR_LENGTH); return valW; }
@Override public Object copyObject(Object o) { if (o == null) { return null; } if (o instanceof Text) { String str = ((Text)o).toString(); HiveVarcharWritable hcw = new HiveVarcharWritable(); hcw.set(str, ((VarcharTypeInfo)typeInfo).getLength()); return hcw; } HiveVarcharWritable writable = (HiveVarcharWritable)o; if (doesWritableMatchTypeParams((HiveVarcharWritable)o)) { return new HiveVarcharWritable(writable); } return getWritableWithParams(writable); }
private Writable getWritableValue(TypeInfo ti, byte[] value) { if (ti.equals(TypeInfoFactory.stringTypeInfo)) { return new Text(value); } else if (ti.equals(TypeInfoFactory.varcharTypeInfo)) { return new HiveVarcharWritable( new HiveVarchar(new Text(value).toString(), -1)); } else if (ti.equals(TypeInfoFactory.binaryTypeInfo)) { return new BytesWritable(value); } return null; }
private static HiveVarcharWritable varcharW(String value, int length) { return new HiveVarcharWritable(new HiveVarchar(value, length)); }
@Test public void testTrue() throws HiveException { udf = new GenericUDFLikeAny(); ObjectInspector valueOIOne = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector valueOITwo = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector valueOIThree = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector[] arguments = { valueOIOne, valueOITwo, valueOIThree }; udf.initialize(arguments); DeferredJavaObject valueObjOne = new DeferredJavaObject(new Text("abc")); DeferredJavaObject valueObjTwo = new DeferredJavaObject(new Text("%b%")); HiveVarchar vc = new HiveVarchar(); vc.setValue("a%"); GenericUDF.DeferredJavaObject[] args = { valueObjOne, valueObjTwo, new GenericUDF.DeferredJavaObject(new HiveVarcharWritable(vc)) }; BooleanWritable output = (BooleanWritable) udf.evaluate(args); assertEquals(true, output.get()); }
@Test public void testTrue() throws HiveException { udf = new GenericUDFLikeAll(); ObjectInspector valueOIOne = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector valueOITwo = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector valueOIThree = PrimitiveObjectInspectorFactory.writableHiveVarcharObjectInspector; ObjectInspector[] arguments = { valueOIOne, valueOITwo, valueOIThree }; udf.initialize(arguments); DeferredJavaObject valueObjOne = new DeferredJavaObject(new Text("abc")); DeferredJavaObject valueObjTwo = new DeferredJavaObject(new Text("%b%")); HiveVarchar vc = new HiveVarchar(); vc.setValue("a%"); GenericUDF.DeferredJavaObject[] args = { valueObjOne, valueObjTwo, new GenericUDF.DeferredJavaObject(new HiveVarcharWritable(vc)) }; BooleanWritable output = (BooleanWritable) udf.evaluate(args); assertEquals(true, output.get()); }
@Test public void testVarchar() throws HiveException { GenericUDFOPNegative udf = new GenericUDFOPNegative(); HiveVarchar vc = new HiveVarchar("32300.004747", 12); HiveVarcharWritable input = new HiveVarcharWritable(vc); VarcharTypeInfo inputTypeInfo = TypeInfoFactory.getVarcharTypeInfo(12); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(inputTypeInfo), }; DeferredObject[] args = { new DeferredJavaObject(input) }; PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs); Assert.assertEquals(TypeInfoFactory.doubleTypeInfo, oi.getTypeInfo()); DoubleWritable res = (DoubleWritable) udf.evaluate(args); Assert.assertEquals(new Double(-32300.004747), new Double(res.get())); }
@Test public void testVarchar() throws HiveException { GenericUDFFloor udf = new GenericUDFFloor(); HiveVarchar vc = new HiveVarchar("32300.004747", 12); HiveVarcharWritable input = new HiveVarcharWritable(vc); VarcharTypeInfo inputTypeInfo = TypeInfoFactory.getVarcharTypeInfo(12); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(inputTypeInfo), }; DeferredObject[] args = { new DeferredJavaObject(input) }; PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs); Assert.assertEquals(TypeInfoFactory.longTypeInfo, oi.getTypeInfo()); LongWritable res = (LongWritable) udf.evaluate(args); Assert.assertEquals(32300L, res.get()); }
@Test public void testVarchar() throws HiveException { GenericUDFCeil udf = new GenericUDFCeil(); HiveVarchar vc = new HiveVarchar("32300.004747", 12); HiveVarcharWritable input = new HiveVarcharWritable(vc); VarcharTypeInfo inputTypeInfo = TypeInfoFactory.getVarcharTypeInfo(12); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(inputTypeInfo), }; DeferredObject[] args = { new DeferredJavaObject(input) }; PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs); Assert.assertEquals(TypeInfoFactory.longTypeInfo, oi.getTypeInfo()); LongWritable res = (LongWritable) udf.evaluate(args); Assert.assertEquals(32301L, res.get()); }