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.測試

