Hive自定义函数中主要分为三类UDF函数(一进一出)、UDAF聚合函数(多进一出)、UDTF表生成函数(一进多出)
1. 编写一个Java类,继承UDF类,并重载evaluate方法。方法中实现函数的逻辑(可以在一个Java类中实现多个函数)。
2. 把程序打包成Jar,上传到HiveServer所在机器或者HDFS上。
3. 客户端命令行中添加Jar包到Hive的classpath中,可以直接放到${HIVE_HOME}/lib中
hive> add Jar /xxx/xxx/xxx.jar 命令格式
4. 注册成为临时函数或永久函数。
-- 临时函数
create temporary function 函数名 as 'UDF类全路径'
-- 永久函数(需要上传Jar包到hdfs上)
CREATE FUNCTION 函数名 AS 'UDF类全路径' USING JAR 'hdfs://xxx/xxx/xxx.jar';
5. 开始使用函数