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!

原文地址:https://www.cnblogs.com/lingluo2017/p/11431336.html