hive udf開發流程:
1.繼承udf類,重寫evaluate()方法並實現函式邏輯(如果方法不存在則自己建立該方法)
依賴包hadoop-common和hive-exec:
/dependency>myfun自定義函式類:
public
class
myfunc
extends
udf}
2.專案打包為jar檔案(瘦包即可),匯入linux中,並上傳到hdfs檔案中
hdfs dfs -mkdir /func
hdfs dfs -put /opt/shops/myhive-
1.0-snapshot.jar /func
3.hive中建立函式,自定義函式名,引用繼承udf類的實體類
add jar方式新增jar包 建立的是臨時函式,僅在當前hive視窗有效,一旦退出需要重新add
hive> add jar hdfs://
192.168
.56.110
:9000
/func/myhive-
1.0-snapshot.jar;
hive> create function mytest as "com.bdqn.hive.myfunc"
;
永久建立函式
create function fucname as 「繼承類路徑」 using jar 「hdfs中jar檔案」
hive> create function mytest as "com.bdqn.hive.myfunc" using jar "hdfs:/func/myhive-1.0-snapshot.jar"
4.hive中使用函式,select funcname(column) …
hive> select * from store_details;
ok1 nofrill 10
2 lablaws 23
3 foodmart 18
4 foodlovers 26
5 walmart 30
hive> select mytest
(store_name) from store_details;
okhello,nofrill
hello,lablaws
hello,foodmart
hello,foodlovers
hello,walmart
Hive自定義函式UDF 一
在使用hive的時候,hive本身自帶的函式不足以滿足於我們需求的情況下,我們可以自定義滿足我們需求的函式。1 繼承org.apache.hadoop.hive.ql.exec.udf 2 寫固定的evaluate 方法。這個方法名字是固定的。注意 evaluate方法支援過載。1 package ...
hive自定義函式UDF
hive自定義函式 udf 可以幫助使用者輕鬆實現在hql語句中展現自定義查詢結果。這裡以乙個簡單的連線函式來實現使用者自定義函式,假設表結構如下 表中只有兩個簡單的字段,id和name。這裡實現乙個將id和name用 連線的函式,最後輸出結果。第一步 書寫stringjoin類,繼承udf,實現名...
hive自定義函式 UDF
幾個命令 檢視所有函式 hive show functions 檢視函式的使用方法 hive desc function 函式名 兩數和 addudf 自定義hive函式 description name myadd value myadd int a int b return a b extend...