Refine search
private void runAndVerify(List<Object> actual, List<Object> expected) throws HiveException { GenericUDF.DeferredJavaObject[] args = { new GenericUDF.DeferredJavaObject(actual) }; List<Object> result = (List<Object>) udf.evaluate(args); Assert.assertEquals("Check size", expected.size(), result.size()); Assert.assertArrayEquals("Check content", expected.toArray(), result.toArray()); } }
@Test public void testNull() throws HiveException { udf = new GenericUDFLikeAll(); ObjectInspector valueOIOne = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector valueOITwo = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector valueOIThree = PrimitiveObjectInspectorFactory.writableVoidObjectInspector; ObjectInspector[] arguments = { valueOIOne, valueOITwo, valueOIThree }; udf.initialize(arguments); DeferredObject valueObjOne = new DeferredJavaObject(new Text("linkedin")); DeferredObject valueObjTwo = new DeferredJavaObject(new Text("%oo%")); DeferredObject valueObjThree = new DeferredJavaObject(NullWritable.get()); DeferredObject[] args = { valueObjOne, valueObjTwo, valueObjThree }; BooleanWritable output = (BooleanWritable) udf.evaluate(args); assertEquals(null, output); }
@Test(expected = UDFArgumentException.class) public void testConversionIsPrevented1() throws HiveException { GenericUDFNullif udf = new GenericUDFNullif(); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableStringObjectInspector, PrimitiveObjectInspectorFactory.writableByteObjectInspector }; DeferredObject[] args = { new DeferredJavaObject(new Text("4")), new DeferredJavaObject(new ByteWritable((byte) 4)) }; PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs); }
@Test public void testNull() throws HiveException { udf = new GenericUDFLikeAny(); ObjectInspector valueOIOne = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector valueOITwo = PrimitiveObjectInspectorFactory.writableVoidObjectInspector; ObjectInspector valueOIThree = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector[] arguments = { valueOIOne, valueOITwo, valueOIThree }; udf.initialize(arguments); DeferredObject valueObjOne = new DeferredJavaObject(new Text("abc")); DeferredObject valueObjTwo = new DeferredJavaObject(NullWritable.get()); DeferredObject valueObjThree = new DeferredJavaObject(new Text("%b%")); DeferredObject[] args = { valueObjOne, valueObjTwo, valueObjThree }; BooleanWritable output = (BooleanWritable) udf.evaluate(args); assertEquals(null, output); } }
@Test(expected = UDFArgumentException.class) public void testConversionIsPrevented2() throws HiveException { GenericUDFNullif udf = new GenericUDFNullif(); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableByteObjectInspector, PrimitiveObjectInspectorFactory.writableStringObjectInspector }; DeferredObject[] args = { new DeferredJavaObject(new ByteWritable((byte) 4)), new DeferredJavaObject(new Text("4")) }; PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs); }
private void runAndVerifyStr(String strBase64, Text keyWr, String expResult, GenericUDFAesDecrypt udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject( strBase64 != null ? new BytesWritable(Base64.decodeBase64(strBase64)) : null); DeferredObject valueObj1 = new DeferredJavaObject(keyWr); DeferredObject[] args = { valueObj0, valueObj1 }; BytesWritable output = (BytesWritable) udf.evaluate(args); String expResultHex = expResult == null ? null : Hex.encodeHexString(expResult.getBytes()); assertEquals("aes_decrypt() test ", expResultHex, output != null ? copyBytesAndHex(output) : null); }
@Test public void testString() throws HiveException { GenericUDFCeil udf = new GenericUDFCeil(); Text input = new Text("32300.004747"); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableStringObjectInspector, }; 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()); }
@Test public void testStructNull() throws Exception { try (GenericUDFJsonRead udf = new GenericUDFJsonRead()) { ObjectInspector[] arguments = buildArguments("struct<a:string>"); udf.initialize(arguments); Object res = udf.evaluate(new DeferredObject[] { new DeferredJavaObject(null), null }); assertNull(res); } }
private void runAndVerifyBin(String strBase64, BytesWritable keyWr, String expResult, GenericUDFAesDecrypt udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject( strBase64 != null ? new BytesWritable(Base64.decodeBase64(strBase64)) : null); DeferredObject valueObj1 = new DeferredJavaObject(keyWr); DeferredObject[] args = { valueObj0, valueObj1 }; BytesWritable output = (BytesWritable) udf.evaluate(args); String expResultHex = expResult == null ? null : Hex.encodeHexString(expResult.getBytes()); assertEquals("aes_decrypt() test ", expResultHex, output != null ? copyBytesAndHex(output) : null); }
@Test public void testString() throws HiveException { GenericUDFOPPositive udf = new GenericUDFOPPositive(); Text input = new Text("32300.004747"); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableStringObjectInspector, }; 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 testConversionInSameGroup() throws HiveException { GenericUDFNullif udf = new GenericUDFNullif(); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableDoubleObjectInspector, PrimitiveObjectInspectorFactory.writableByteObjectInspector }; DeferredObject[] args = { new DeferredJavaObject(new DoubleWritable(4.0)), new DeferredJavaObject(new ByteWritable((byte) 4)) }; PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs); }
private void runAndVerifyStr(String str, Text keyWr, String expResultBase64, GenericUDFAesEncrypt udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new Text(str) : null); DeferredObject valueObj1 = new DeferredJavaObject(keyWr); DeferredObject[] args = { valueObj0, valueObj1 }; BytesWritable output = (BytesWritable) udf.evaluate(args); assertEquals("aes_encrypt() test ", expResultBase64, output != null ? copyBytesAndBase64(output) : null); }
@Test public void testString() throws HiveException { GenericUDFFloor udf = new GenericUDFFloor(); Text input = new Text("32300.004747"); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableStringObjectInspector, }; 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(expected = UDFArgumentException.class) public void testNotSupportedArgumentMix() throws HiveException { GenericUDFNullif udf = new GenericUDFNullif(); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableDateObjectInspector, PrimitiveObjectInspectorFactory.writableByteObjectInspector }; DeferredObject[] args = { new DeferredJavaObject(new DateWritableV2(4)), new DeferredJavaObject(new ByteWritable((byte) 4)) }; udf.initialize(inputOIs); }
private void runAndVerifyBin(byte[] b, BytesWritable keyWr, String expResultBase64, GenericUDFAesEncrypt udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject(b != null ? new BytesWritable(b) : null); DeferredObject valueObj1 = new DeferredJavaObject(keyWr); DeferredObject[] args = { valueObj0, valueObj1 }; BytesWritable output = (BytesWritable) udf.evaluate(args); assertEquals("aes_encrypt() test ", expResultBase64, output != null ? copyBytesAndBase64(output) : null); }
@Test public void testInt() throws HiveException { GenericUDFFloor udf = new GenericUDFFloor(); IntWritable input = new IntWritable(-747); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableIntObjectInspector, }; 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(-747L, res.get()); }
@Test public void testModByZero6() throws HiveException { GenericUDFOPMod udf = new GenericUDFOPMod(); // Double DoubleWritable d1 = new DoubleWritable(4.5); DoubleWritable d2 = new DoubleWritable(0.0); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableDoubleObjectInspector, PrimitiveObjectInspectorFactory.writableDoubleObjectInspector }; DeferredObject[] args = { new DeferredJavaObject(d1), new DeferredJavaObject(d2), }; udf.initialize(inputOIs); DoubleWritable d3 = (DoubleWritable) udf.evaluate(args); Assert.assertNull(d3); }
private void compareToUDFYearDate(long t, int y) throws HiveException { UDFYear udf = new UDFYear(); udf.initialize(new ObjectInspector[]{PrimitiveObjectInspectorFactory.writableTimestampObjectInspector}); TimestampWritableV2 tsw = toTimestampWritable(t); IntWritable res = (IntWritable) udf.evaluate( new GenericUDF.DeferredObject[]{new GenericUDF.DeferredJavaObject(tsw)}); Assert.assertEquals(res.get(), y); }
@Test public void testLong() throws HiveException { GenericUDFFloor udf = new GenericUDFFloor(); LongWritable input = new LongWritable(3234747); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableLongObjectInspector, }; 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(3234747L, res.get()); }
@Test public void testPosModByZero8() throws HiveException { GenericUDFPosMod udf = new GenericUDFPosMod(); // Decimal HiveDecimalWritable dec1 = new HiveDecimalWritable(HiveDecimal.create("4.5")); HiveDecimalWritable dec2 = new HiveDecimalWritable(HiveDecimal.create("0")); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(TypeInfoFactory.getDecimalTypeInfo(2, 1)), PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(TypeInfoFactory.getDecimalTypeInfo(1, 0)) }; DeferredObject[] args = { new DeferredJavaObject(dec1), new DeferredJavaObject(dec2), }; udf.initialize(inputOIs); HiveDecimalWritable dec3 = (HiveDecimalWritable) udf.evaluate(args); Assert.assertNull(dec3); }