hive写自定义函数很简单,只需要引入hive一两个jar包,同时将hive的将类继承udf类,在类中重写evaluate方法,evaluate方法可以写多个,每个参数不一样即多个不同的方法。 代码如下:
hiveUDF
将类打包之后,上传到hive服务器,进入到hive命令行,执行如下命令即可。
add jar /home/bigdata/cjun/udf/hiveUDF-0.0.1.jar; #将jar包添加到hive环境中,每次重启hive命令行都需要重新执行
create temporary function devision as 'com.bigdata.Division.Division'; #将类注册成一个hive函数
select devision(bad_num,all_num,4) from bnms.kpi_upchannel_used_bad; #使用自定义函数