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); } }