Hive自定义函数
自定义函数的三种类型:
UDF
输入单行,输出单行(最为常用)
类似Hive自带的部分函数,如substr
例子:select substr(name,0,2) from order3;
要求自定义类继承UDF,重写evaluate方法。
UDTF
user define table-gen function,输入单行,输出多行,类似于 explode(array);
UDAF
user define aggr function,输入多行,输出单行,类似于 sum(xxx)
自定义UDF函数定义及调用过程:
自定义两个函数
1.根据身份证号获取对应省份
2.根据身份证号获取对应年龄段
package com.qiku.udf;
import java.util.HashMap;
import org.apache.hadoop.hive.ql.exec.UDF;
public class ProvinceDemo extends UDF{
static HashMap<String, String> profinceMap = new HashMap<String, String>();
static {
profinceMap.put("11", "北京");profinceMap.put("12", "天津");profinceMap.put("13", "河北"