开发HIVE的UDF自定义函数

本文介绍了如何开发Hive的UDF自定义函数,特别是利用Java编写了一个实现MurmurHash算法的函数,用于替换原有的hash函数。文章详细讲解了开发过程,并提到了在Hive中引入和使用该自定义函数的方法。
摘要由CSDN通过智能技术生成

[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+"";
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值