1. 程式人生 > >Hive函數大全

Hive函數大全

nba replace 日期函數 java函數 數值計算 repeat unix時間戳 double 數據挖掘算法

Hive函數大全(部分)

現在雖然有很多SQL ON Hadoop的解決方案,像Spark SQL、Impala、Presto等等,但就目前來看,在基於Hadoop的大數據分析平臺、數據倉庫中,Hive仍然是不可替代的角色。盡管它的相應延遲大,盡管它啟動MapReduce的時間相當長,但是它太方便、功能太強大了,做離線批量計算、ad-hoc查詢甚至是實現數據挖掘算法,而且,和HBase、Spark都能整合使用。

如果你是做大數據分析平臺和數據倉庫相關的,就目前來說,我建議,Hive是必須的。

很早之前整理過Hive的函數,不過是基於0.7版本的,這兩天抽時間更新了下,基於Hive0.13,比之前的完整了許多。

整理成文檔,希望能給Hive初學者和Hive使用者有所幫助。

如果該文檔對你的學習和工作有所幫助,那麽請多多支持我的博客。

Hive函數大全 目錄:

一、關系運算:
1. 等值比較: =
2. 等值比較:<=>
3. 不等值比較: <>和!=
4. 小於比較: <
5. 小於等於比較: <=
6. 大於比較: >
7. 大於等於比較: >=
8. 區間比較
9. 空值判斷: IS NULL
10. 非空判斷: IS NOT NULL
10. LIKE比較: LIKE
11. JAVA的LIKE操作: RLIKE
12. REGEXP操作: REGEXP
二、數學運算:
1. 加法操作: +
2. 減法操作: –
3. 乘法操作: *
4. 除法操作: /
5. 取余操作: %
6. 位與操作: &
7. 位或操作: |
8. 位異或操作: ^
9.位取反操作: ~
三、邏輯運算:


1. 邏輯與操作: AND 、&&
2. 邏輯或操作: OR 、||
3. 邏輯非操作: NOT、!
四、復合類型構造函數
1. map結構
2. struct結構
3. named_struct結構
4. array結構
5. create_union
五、復合類型操作符
1. 獲取array中的元素
2. 獲取map中的元素
3. 獲取struct中的元素
六、數值計算函數
1. 取整函數: round
2. 指定精度取整函數: round
3. 向下取整函數: floor
4. 向上取整函數: ceil
5. 向上取整函數: ceiling
6. 取隨機數函數: rand
7. 自然指數函數: exp
8. 以10為底對數函數: log10
9. 以2為底對數函數: log2
10. 對數函數: log
11. 冪運算函數: pow
12. 冪運算函數: power
13. 開平方函數: sqrt
14. 二進制函數: bin
15. 十六進制函數: hex
16. 反轉十六進制函數: unhex
17. 進制轉換函數: conv
18. 絕對值函數: abs
19. 正取余函數: pmod
20. 正弦函數: sin
21. 反正弦函數: asin
22. 余弦函數: cos
23. 反余弦函數: acos
24. positive函數: positive
25. negative函數: negative
七、集合操作函數

1. map類型大小:size
2. array類型大小:size
3. 判斷元素數組是否包含元素:array_contains
4. 獲取map中所有value集合
5. 獲取map中所有key集合
6. 數組排序
八、類型轉換函數
1. 二進制轉換:binary
2. 基礎類型之間強制轉換:cast
九、日期函數
1. UNIX時間戳轉日期函數: from_unixtime
2. 獲取當前UNIX時間戳函數: unix_timestamp
3. 日期轉UNIX時間戳函數: unix_timestamp
4. 指定格式日期轉UNIX時間戳函數: unix_timestamp
5. 日期時間轉日期函數: to_date
6. 日期轉年函數: year
7. 日期轉月函數: month
8. 日期轉天函數: day
9. 日期轉小時函數: hour
10. 日期轉分鐘函數: minute
11. 日期轉秒函數: second
12. 日期轉周函數: weekofyear
13. 日期比較函數: datediff
14. 日期增加函數: date_add
15. 日期減少函數: date_sub
十、條件函數
1. If函數: if
2. 非空查找函數: COALESCE
3. 條件判斷函數:CASE
4. 條件判斷函數:CASE
十一、字符串函數
1. 字符ascii碼函數:ascii
2. base64字符串
3. 字符串連接函數:concat
4. 帶分隔符字符串連接函數:concat_ws
5. 數組轉換成字符串的函數:concat_ws
6. 小數位格式化成字符串函數:format_number
7. 字符串截取函數:substr,substring
8. 字符串截取函數:substr,substring
9. 字符串查找函數:instr
10. 字符串長度函數:length
11. 字符串查找函數:locate
12. 字符串格式化函數:printf
13. 字符串轉換成map函數:str_to_map
14. base64解碼函數:unbase64(string str)
15. 字符串轉大寫函數:upper,ucase
16. 字符串轉小寫函數:lower,lcase
17. 去空格函數:trim
18. 左邊去空格函數:ltrim
19. 右邊去空格函數:rtrim
20. 正則表達式替換函數:regexp_replace
21. 正則表達式解析函數:regexp_extract
22. URL解析函數:parse_url
23. json解析函數:get_json_object
24. 空格字符串函數:space
25. 重復字符串函數:repeat
26. 左補足函數:lpad
27. 右補足函數:rpad
28. 分割字符串函數: split
29. 集合查找函數: find_in_set
30. 分詞函數:sentences
31. 分詞後統計一起出現頻次最高的TOP-K
32. 分詞後統計與指定單詞一起出現頻次最高的TOP-K
十二、混合函數
1. 調用Java函數:java_method
2. 調用Java函數:reflect
3. 字符串的hash值:hash
十三、XPath解析XML函數
1. xpath
2. xpath_string
3. xpath_boolean
4. xpath_short, xpath_int, xpath_long
5. xpath_float, xpath_double, xpath_number
十四、匯總統計函數(UDAF)
1. 個數統計函數: count
2. 總和統計函數: sum
3. 平均值統計函數: avg
4. 最小值統計函數: min
5. 最大值統計函數: max
6. 非空集合總體變量函數: var_pop
7. 非空集合樣本變量函數: var_samp
8. 總體標準偏離函數: stddev_pop
9. 樣本標準偏離函數: stddev_samp
10.中位數函數: percentile
11. 中位數函數: percentile
12. 近似中位數函數: percentile_approx
13. 近似中位數函數: percentile_approx
14. 直方圖: histogram_numeric
15. 集合去重數:collect_set
16. 集合不去重函數:collect_list
十五、表格生成函數Table-Generating Functions (UDTF)
1. 數組拆分成多行:explode
2. Map拆分成多行:explode

Hive函數大全