Hive UDF函數測試
1.UDF函數確定
根據SVN路徑獲取UDF函數代碼,然后將需要調整的部分作出相應調整(eg:新增2020年工作日信息 修改對應的XML文件),重新使用maven install 命令打包為新的jar包
2.將UDF Jar包通過HUE上傳到服務器
上傳步驟與平時上傳腳本文件一樣,如下圖所示:(1.進入UDF jar包目錄 2. 選擇上傳 3.選定jar包上傳)
3.將UDF jar函數從hue上傳到服務器(10.21.22.116)
cd /app
mkdir UDF_V2
# 將UDF jar包上傳到服務的 /app/UDF_V2 目錄下
hdfs dfs -copyToLocal /user/hadouser_hw/UDF_jar_dfx/hiveudf-0.0.1-SNAPSHOT.jar /app/UDF_V2
4.Hive測試UDF jar包里面的函數信息
登錄服務器(10.21.22.116)后
hive #進入hive數據庫
add jar /app/UDF_V2/hiveudf-0.0.1-SNAPSHOT.jar; # 加載jar包
create temporary function GetWorkDay as 'org.clio.hiveudf.hiveudf.GetWorkDay'; # 聲明函數(GetWorkDay為函數名,org.clio.hiveudf.hiveudf.GetWorkDay為UDFjar包里的類路徑)
select GetWorkDay ('2019-07-31 08:59:01','2019-08-01 19:59:01'); # 使用(測試)函數,參數的類型及順序與類中的方法參數保持一致
################################################分割線####################################################
beeline中測試
1.申請將udf jar包上傳到集群環境 (這個得找相關人員了...)
2.進入beeline執行命令窗口
3.直接聲明函數 (不需要像hive里面一樣手動加載jar包了)
create temporary function GetWorkDay as 'org.clio.hiveudf.hiveudf.GetWorkDay';
4.調用函數,測試
select GetWorkDay ('2019-07-31 08:59:01','2020-08-01 19:59:01');