Hive的內建函式(十一)

2021-09-27 08:39:03 字數 1762 閱讀 7536

3. hive常用函式

hive中包含很多內建函式,如果內建函式不能滿足實際應用時,也可以自定義函式(user-defined function,udf)來實現,並在hive中呼叫。

udf函式有3中型別:

udf(user-defined-function)函式

作用於單條資料,並且輸出乙個資料行。大多數的函式如字串函式、日期函式等都屬於這一類。

udaf(user defined aggregation function)函式

可以接受多個資料輸入,同時輸出乙個資料行,比如count、min、max,這類函式都是聚集函式。

udtf(user-defined table-generating functions)函式

作用於單條資料,同時產生多個輸出資料行。

建立虛擬表

echo

'x'> dual.txt

把x寫入到dual.txt檔案中,接著建立乙個名為dual的表,表字段是dummy,並把dual.txt中的x匯入到表中:

完成後,再檢視臨時表的內容:

臨時表建立完成,下面就可以編寫自定義函式了。

首先來看乙個udf函式例項,這個例子很簡單,將a ,b,c,d 拼接起來,並完成輸出,需要用到的函式是concat()函式,**如下:

下面給出乙個統計學生age總和的例項,**如下:

可以看出聚合函式統計了全部學生的年齡,在實際執行時會轉換為mapreduce程式執行。

再來個好玩的,乙個輸入轉化為多個輸出的例子:將』a,b,c,d,e』分解成』a』,『b』,『c』,『d』,『e』

**如下:

Hive內建函式

日期函式unix時間戳轉日期函式 from unixtime語法 from unixtime bigint unixtime string format 返回值 string 說明 轉化unix時間戳 從1970 01 01 00 00 00 utc到指定時間的秒數 到當前時區的時間格式 舉例 hi...

hive的內建函式大全

返回值 函式案例 備註 string date add 開始日期,需要累加的天數 select date add 2020 01 08 12 13 15 5 累加5天,返回2020 01 13 string date sub 開始日期,需要減去天數 select date sub 2020 01 0...

Hive 內建集合函式

size map k,v select size map型別引數 返回map中的元素個數size array v select size split 1,2,3,4,5 返回5map keys map k.v select map keys map型別引數 返回key的無序陣列map values ...