hive中的自定义函数 udf 和udaf和udtf的区别 以及用法
udf:
特点:input:output=1:1
实例函数:md5,split,ltrim
应用场景:1:1的情况,比如md5…
实现方法:简单udf实现
extends UDF
方法名 evaluate
举例:
public class Lower extends UDF {
public Text evaluate(Text s) {
if (s == null) {
return null;
}
return new Text(s.toString().toLowerCase());
}
1.将项目打包 打包后 放到linux系统hive的默认目录【不需要上传到hdfs】【默认目录:/opt/molute/jars/ (没有的话自己创建目录)
2.将jar包 添加到hive的classpath 【进入hive命令】【此步骤也相当于在hive上注册jar包】
hive> add jar /opt/molute/jars/udf.jar;
若执行成功 显示如下:
hive> add jar /opt/module/jars/udf.jar;
Added [/opt/module/jars/udf.jar] to class path
Added resources: [/opt/module/jars/udf.jar]
3.创建临时函数与开发好的 java class 关联
create temporary function toLowerCase as ‘cn.hive.Lower’; [【’’ 里是java类的路径 toLoweCase 是起的函数名 temporary是临时的】
4.测试 :show functi