一 新建JAVA項目 並添加 hive-exec-2.1.0.jar 和hadoop-common-2.7.3.jar

hive-exec-2.1.0.jar 在HIVE安裝目錄的lib目錄下
hadoop-common-2.7.3.jar在hadoop的安裝目錄下的\share\hadoop\common
二 編一個一個類並繼承UDF 並重寫evaluate方法
下面以rownum為例
package com.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class RowNumUDF extends UDF{
public static String signature = "_";
public static int order = 0;
public int evaluate(Text text){
if(text != null){
//分組排序的依據,列名,通常為主鍵
String colName = text.toString();
//處理第一條數據
if(signature == "_"){
//記下分組排序的字段:主鍵,並將rownum設為1
signature = colName;
order = 1;
//返回rownum
return order;
}else{
//首先比對是否和上一條主鍵相同
if(signature.equals(colName)){
//rownum依次加1
order++;
return order;
}else{
//如果主鍵改變,將rownum設為1
signature = colName;
order = 1;
return order;
}
}
}else{
//如果主鍵為空,則返回-1
return -1;
}
}
}
三 導出位jar包並在HIVE中注冊

