hive 自定義函數


 

1.編寫java類,繼承UDF,注意方法名需要覆蓋evaluate方法.之前測試時發現方法名可以任意,后來發現還是不行,所以還是用evalute這個方法名吧

 1 import org.apache.hadoop.hive.ql.exec.UDF;
 2 
 3 public class MyLower extends UDF {
 4     
 5     public String evaluate (final String s) {
 6         
 7         if (s == null) {
 8             return null;
 9         }
10         
11         return s.toString().toLowerCase();
12     }
13 }

2.打成jar包上傳到linux上

 

3,啟動hive后進行關聯

add jar /opt/module/data/jar/test.jar;

注意如果你想對jar替換,最好先delete jar xxx,直接add不會進行覆蓋,這樣你仍然使用的是舊的jar

 

4.創建函數

create temporary function test as "hive.MyLower";

as之后是你編寫的類的全限定名稱

 刪除臨時函數 drop temporary function xxx;

5.測試

 


免責聲明!

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



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