Beispiel #1
0
 public static double getAsConstDouble(@Nonnull final ObjectInspector numberOI)
     throws UDFArgumentException {
   final String typeName = numberOI.getTypeName();
   if (DOUBLE_TYPE_NAME.equals(typeName)) {
     DoubleWritable v = getConstValue(numberOI);
     return v.get();
   } else if (FLOAT_TYPE_NAME.equals(typeName)) {
     FloatWritable v = getConstValue(numberOI);
     return v.get();
   } else if (INT_TYPE_NAME.equals(typeName)) {
     IntWritable v = getConstValue(numberOI);
     return v.get();
   } else if (BIGINT_TYPE_NAME.equals(typeName)) {
     LongWritable v = getConstValue(numberOI);
     return v.get();
   } else if (SMALLINT_TYPE_NAME.equals(typeName)) {
     ShortWritable v = getConstValue(numberOI);
     return v.get();
   } else if (TINYINT_TYPE_NAME.equals(typeName)) {
     ByteWritable v = getConstValue(numberOI);
     return v.get();
   }
   throw new UDFArgumentException(
       "Unexpected argument type to cast as double: "
           + TypeInfoUtils.getTypeInfoFromObjectInspector(numberOI));
 }
Beispiel #2
0
 public static IntObjectInspector asIntOI(@Nonnull final ObjectInspector argOI)
     throws UDFArgumentException {
   if (!INT_TYPE_NAME.equals(argOI.getTypeName())) {
     throw new UDFArgumentException("Argument type must be INT: " + argOI.getTypeName());
   }
   return (IntObjectInspector) argOI;
 }
Beispiel #3
0
 public static boolean isIntOI(@Nonnull final ObjectInspector oi) {
   String typeName = oi.getTypeName();
   return INT_TYPE_NAME.equals(typeName);
 }