private void runAndVerify(String str, int months, String expResult, GenericUDF udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject(new Text(str)); DeferredObject valueObj1 = new DeferredJavaObject(new IntWritable(months)); DeferredObject[] args = { valueObj0, valueObj1 }; Text output = (Text) udf.evaluate(args); assertEquals("add_months() test ", expResult, output != null ? output.toString() : null); }
private void runAndVerify(String str, int months, Text dateFormat, String expResult, GenericUDF udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject(new Text(str)); DeferredObject valueObj1 = new DeferredJavaObject(new IntWritable(months)); DeferredObject valueObj2 = new DeferredJavaObject(dateFormat); DeferredObject[] args = {valueObj0, valueObj1, valueObj2}; Text output = (Text) udf.evaluate(args); assertEquals("add_months() test with time part", expResult, output != null ? output.toString() : null); }
private void runAndVerify(String str, short months, String expResult, GenericUDF udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject(new Text(str)); DeferredObject valueObj1 = new DeferredJavaObject(new ShortWritable(months)); DeferredObject[] args = { valueObj0, valueObj1 }; Text output = (Text) udf.evaluate(args); assertEquals("add_months() test ", expResult, output != null ? output.toString() : null); }
private void runAndVerify(String str, byte months, String expResult, GenericUDF udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject(new Text(str)); DeferredObject valueObj1 = new DeferredJavaObject(new ByteWritable(months)); DeferredObject[] args = { valueObj0, valueObj1 }; Text output = (Text) udf.evaluate(args); assertEquals("add_months() test ", expResult, output != null ? output.toString() : null); } }
private void runAndVerify(Timestamp ts, int months, Text dateFormat, String expResult, GenericUDF udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject(new TimestampWritableV2(ts)); DeferredObject valueObj1 = new DeferredJavaObject(new IntWritable(months)); DeferredObject valueObj2 = new DeferredJavaObject(dateFormat); DeferredObject[] args = {valueObj0, valueObj1, valueObj2}; Text output = (Text) udf.evaluate(args); assertEquals("add_months() test for timestamp", expResult, output != null ? output.toString() : null); }
public void testAddMonthsLong() throws HiveException { @SuppressWarnings("resource") GenericUDFAddMonths udf = new GenericUDFAddMonths(); ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector; ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableLongObjectInspector; ObjectInspector[] arguments = { valueOI0, valueOI1 }; try { udf.initialize(arguments); assertTrue("add_months exception expected", false); } catch (UDFArgumentTypeException e) { assertEquals("add_months test", "add_months only takes INT/SHORT/BYTE types as 2nd argument, got LONG", e.getMessage()); } }