Hive自定義UDF和聚合函式UDAF

2021-09-02 13:55:49 字數 462 閱讀 3747

一、hive可以允許使用者編寫自己定義的函式udf,來在查詢中使用。

hive中有3種udf:

udf:操作單個資料行,產生單個資料行;

udaf:操作多個資料行,產生乙個資料行。

udtf:操作乙個資料行,產生多個資料行乙個表作為輸出。

二、編寫自己定義的函式udf

第一步:繼承udf或者udaf或者udtf,實現特定的方法。

第二步:將寫好的類打包為jar。如hivefirst.jar.

第三步:進入到hive外殼環境中,利用add jar /home/hadoop/hivefirst.jar.註冊該jar檔案

第四步:為該類起乙個別名,create temporary function mylength as 'com.whut.stringlength';這裡注意udf只是為這個hive會話臨時定義的。

第五步:在select中使用mylength();

Hive自定義UDF和聚合函式UDAF

hive是一種構建在hadoop上的資料倉儲,hive把sql查詢轉換為一系列在hadoop集群中執行的mapreduce作業,是mapreduce更高層次的抽象,不用編寫具體的mapreduce方法。hive將資料組織為表,這就使得hdfs上的資料有了結構,元資料即表的模式,都儲存在名為metas...

Hive自定義UDF和聚合函式UDAF

hive是一種構建在hadoop上的資料倉儲,hive把sql查詢轉換為一系列在hadoop集群中執行的mapreduce作業,是mapreduce更高層次的抽象,不用編寫具體的mapreduce方法。hive將資料組織為表,這就使得hdfs上的資料有了結構,元資料即表的模式,都儲存在名為metas...

hive自定義函式UDF

hive自定義函式 udf 可以幫助使用者輕鬆實現在hql語句中展現自定義查詢結果。這裡以乙個簡單的連線函式來實現使用者自定義函式,假設表結構如下 表中只有兩個簡單的字段,id和name。這裡實現乙個將id和name用 連線的函式,最後輸出結果。第一步 書寫stringjoin類,繼承udf,實現名...