Hive自定义函数
一、Hive自定义函数介绍:
UDF:一进一出
UDAF:多进一出,例如:count、max、min
UDTF:一进多出,例如:explode()
二、新建一个 Maven-quick start
参数修改
三、Maven依赖
<!-- hive-exec -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.1.0</version>
</dependency>
四、操作步骤
1.编辑UDF函数代码
import org.apache.hadoop.hive.ql.exec.UDF;
import java.util.UUID;
public class GeneratorUUID extends UDF {
public String evaluxxate(){
String uuid = UUID.randomUUID().toString().replaceAll("-","");
return uuid;
}
}
2.打包
如果你为了最后文件名显示的比较规范,那你可以在 pom 文件里的 <build> 添加下方代码。
<finalName>uuidUDF</finalName>
3.Hive 添加 jar包
- 启动服务
- 将打好的 jar 包 上传至 linux 下
- 启动 hive
add jar /opt/myudf.jar
4.创建/销毁临时函数
create temporary function guuid as 'com.nj.myudf.GeneratorUUID';
-
as 后面跟的是红框里的项目路径
-
创建完成
-
销毁函数
drop temporary function guuid;
5.调用函数
select guuid();