如何写hive的udf函数

2025-05-17 16:21:19
推荐回答(1个)
回答(1):

package club.drguo.hive;

import java.util.HashMap;

import org.apache.hadoop.hive.ql.exec.UDF;
//club.drguo.hive.PhoneNumToArea
public class PhoneNumToArea extends UDF{
private static HashMap areaMap = new HashMap<>();
static{
areaMap.put("136", "北京");
areaMap.put("137", "南京");
areaMap.put("138", "东京");
}
//方法要用public修饰!!!
public String evaluate(String phoneNum) {
String result = areaMap.get(phoneNum.substring(0,3))==null?(phoneNum+"---未知"):(phoneNum+"---"+areaMap.get(phoneNum.substring(0,3)));
return result;
}
}