oracle中有个业务是 各项指标相加求和的,迁移到hive上,自定义函数写法如下:
public class SumTest extends UDF{
String retVal = "";
double sumpart = 0;
public Text evaluate(String... args) {
String part = "";
int len = args.length;
for(int i=0; i<len; i++){
part = args[i];
if(part == null || "".equals(part.trim())){
part = "0";
}
double partDouble = Double.parseDouble(part);
sumpart += partDouble;
}
retVal = sumpart+"";
return new Text(retVal);
}
}