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!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM