hive 自定義UDF函式一氣呵成

2021-10-07 06:13:35 字數 1672 閱讀 1929

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