HIVE自定義函數


 


 

一 ,自定義函數的類別

UDF  作用於單個數據行,產生一個數據行作為輸出。(數學函數,字符串函數)

UDAF(用戶定義聚集函數):接收多個輸入數據行,並產生一個輸出數據行。(count,max)

二,UDF開發實例

  1,開發一個Java類,繼承UDF,並重載evaluate方法(手動重載)。

 1 package cn.itcast.bigdata.udf
 2 import org.apache.hadoop.hive.ql.exec.UDF;
 3 import org.apache.hadoop.io.Text;
 4 
 5 public final class Lower extends UDF{
 6     public Text evaluate(final Text s){
 7         if(s==null){return null;}
 8         return new Text(s.toString().toLowerCase());
 9     }
10 }

  2,打成jar包上傳到服務器。

  3,將jar包添加到hive的classpath

hive>add JAR /home/hadoop/udf.jar;

  4,創建臨時函數與開發好的java class關聯。

create temporary function toprovince as 'cn.itcast.bigdata.udf.ToProvince';

  5,即可在hql中使用自定義的函數strip 

Select strip(name),age from t_test;

 

 

 

 


 


免責聲明!

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



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