使用idea编辑器实现firstudf函数(判断值是否为空,不为空返回小写+999)
导入依赖
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>3.1.2</version>
</dependency>
package udf;
import org.apache.hadoop.hive.ql.exec.UDF;
public class FirstUDF extends UDF{
public String evaluate(final String s){
if(s==null){
return null;
}
return s.toLowerCase()+"999";
}
}
打包
在类的class文件位置按shift+右键,打开命令窗口。
jar cvf udf.jar udf/*.*
上传jar包
进入虚拟机中hive的安装目录的lib路径下,将jar包放入。
加载jar包
hive>add jar /usr/soft/hive/lib/udf.jar;
指定映射函数
hive>create temporary function firstudf as 'udf.FirstUDF';
调用自定义函数
select firstudf(comm) from emp;