开发HIVE的UDF自定义函数,hiveudf自定义


[Author]: kwu 


1 、UDF自定义函数

自定义函数包括三种UDF、UDAF、UDTF 
UDF(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+"";
    }
}


增加相关依赖的jar







相关内容