hive 自定义函数

1.编写java类,继承UDF,注意方法名需要覆盖evaluate方法.之前测试时发现方法名可以任意,后来发现还是不行,所以还是用evalute这个方法名吧

 1 import org.apache.hadoop.hive.ql.exec.UDF;
 2 
 3 public class MyLower extends UDF {
 4     
 5     public String evaluate (final String s) {
 6         
 7         if (s == null) {
 8             return null;
 9         }
10         
11         return s.toString().toLowerCase();
12     }
13 }

2.打成jar包上传到linux上

3,启动hive后进行关联

add jar /opt/module/data/jar/test.jar;

注意如果你想对jar替换,最好先delete jar xxx,直接add不会进行覆盖,这样你仍然使用的是旧的jar

4.创建函数

create temporary function test as "hive.MyLower";

as之后是你编写的类的全限定名称

 删除临时函数 drop temporary function xxx;

5.测试

原文地址:https://www.cnblogs.com/tele-share/p/9879972.html