[Author]: kwu
1 、UDF自定义函数
自定义函数包括三种UDF、UDAF、UDTFUDF(User-Defined-Function) 一进一出
UDAF(User- Defined Aggregation Funcation) 聚集函数,多进一出。count/max/min
UDTF(User-Defined Table-Generating Functions) 一进多出,如lateral view explore()
使用方式 :
在HIVE会话中add 自定义函数的jar文件,然后创建function,继而使用函数。
2、 UDF开发
继承org.apache.hadoop.hive.ql.UDF
需要实现evaluate函数
evaluate函数支持重载
实现一进一出的操作
3、Java编写UDF,实现的功能很简单,自定义hash函数用来替代原有的hash函数,这里用的是MurmurHash
import org.apache.hadoop.hive.ql.exec.UDF;
import com.hexun.utils.MurmurHash;
public class HashMurUDF extends UDF {
public String evaluate(String cookie) {
long hash64 = MurmurHash.hash64(cookie);
return hash64+"";
}
}