IDEA如何将写好的java类(UDF函数)打成jar包上传linux
一.编写一个UDF函数,实现将字符串大写转小写
1 import org.apache.hadoop.hive.ql.exec.UDF; 2 import org.apache.hadoop.io.Text; 3 4 public final class Lower extends UDF { 5 public Text evaluate(final Text s){ 6 if (s == null){ 7 return null; 8 } 9 10 return new Text(s.toString().toLowerCase()); 11 } 12 }
二.打包:直接在命令行输入: mvn clean package(idea打包上传linux总是失败,故用此方法)
打好的jar包
上传到linux
rz -b
选择jar包导入
上传路径:/home/v_chiyichen/test/20190829/
准备一个表Test,并写入数据
create table Test(name string); load data local inpath 'Test.txt' overwrite into table Test;
进入hive 查询一下:
将jar包导入hive中:
add jar /home/v_chiyichen/test/20190829/chiyichenTest.jar;
然后执行
#这里的Lower对应的是你idea的package路径
#testUdfFunc 自己起的函数名
create temporary function testUdfFunc as 'Lower';
使用这个函数
select testUdfFunc(name) from Test;
OK!