Hive函数大全–完整版
现在虽然有很多SQL ON Hadoop的解决方案,像Spark SQL、Impala、Presto等等,但就目前来看,在基于Hadoop的大数据分析平台、数据仓库中,Hive仍然是不可替代的角色。尽管它的相应延迟大,尽管它启动MapReduce的时间相当长,但是它太方便、功能太强大了,做离线批量计算、ad-hoc查询甚至是实现数据挖掘算法,而且,和HBase、Spark都能整合使用。
如果你是做大数据分析平台和数据仓库相关的,就目前来说,我建议,Hive是必须的。
很早之前整理过Hive的函数,不过是基于0.7版本的,这两天抽时间更新了下,基于Hive0.13,比之前的完整了许多。
整理成文档,希望能给Hive初学者和Hive使用者有所帮助。Hive自带的UDF函数非常多,整理出来有40多页。下载地址在文章最后面。
如果该文档对你的学习和工作有所帮助,那么请多多支持我的博客。
Hive函数大全 目录:
一、关系运算:
等值比较: =
等值比较:<=>
不等值比较: <>和!=
小于比较: <
小于等于比较: <=
大于比较: >
大于等于比较: >=
空值判断: IS NULL
非空判断: IS NOT NULL
LIKE比较: LIKE
JAVA的LIKE操作: RLIKE
REGEXP操作: REGEXP
二、数学运算:
加法操作: +
减法操作: –
乘法操作: *
除法操作: /
取余操作: %
位与操作: &
位或操作: |
位异或操作: ^
9.位取反操作: ~
三、逻辑运算:
逻辑与操作: AND 、&&
逻辑或操作: OR 、||
逻辑非操作: NOT、!
四、复合类型构造函数
map结构
struct结构
named_struct结构
array结构
create_union
五、复合类型操作符
获取array中的元素
获取map中的元素
获取struct中的元素
六、数值计算函数
取整函数: round
指定精度取整函数: round
向下取整函数: floor
向上取整函数: ceil
向上取整函数: ceiling
取随机数函数: rand
自然指数函数: exp
以10为底对数函数: log10
以2为底对数函数: log2
对数函数: log
幂运算函数: pow
幂运算函数: power
开平方函数: sqrt
二进制函数: bin
十六进制函数: hex
反转十六进制函数: unhex
进制转换函数: conv
绝对值函数: abs
正取余函数: pmod
正弦函数: sin
反正弦函数: asin
余弦函数: cos
反余弦函数: acos
positive函数: positive
negative函数: negative
七、集合操作函数
map类型大小:size
array类型大小:size
判断元素数组是否包含元素:array_contains
获取map中所有value集合
获取map中所有key集合
八、类型转换函数
二进制转换:binary
基础类型之间强制转换:cast
九、日期函数
UNIX时间戳转日期函数: from_unixtime
获取当前UNIX时间戳函数: unix_timestamp
日期转UNIX时间戳函数: unix_timestamp
指定格式日期转UNIX时间戳函数: unix_timestamp
日期时间转日期函数: to_date
日期转年函数: year
日期转月函数: month
日期转天函数: day
日期转小时函数: hour
日期转分钟函数: minute
日期转秒函数: second
日期转周函数: weekofyear
日期比较函数: datediff
日期增加函数: date_add
日期减少函数: date_sub
十、条件函数
If函数: if
非空查找函数: COALESCE
条件判断函数:CASE
条件判断函数:CASE
十一、字符串函数
字符ascii码函数:ascii
base64字符串
字符串连接函数:concat
带分隔符字符串连接函数:concat_ws
数组转换成字符串的函数:concat_ws
小数位格式化成字符串函数:format_number
字符串截取函数:substr,substring
字符串截取函数:substr,substring
字符串查找函数:instr
字符串长度函数:length
字符串查找函数:locate
字符串格式化函数:printf
字符串转换成map函数:str_to_map
base64解码函数:unbase64(string str)
字符串转大写函数:upper,ucase
字符串转小写函数:lower,lcase
去空格函数:trim
左边去空格函数:ltrim
右边去空格函数:rtrim
正则表达式替换函数:regexp_replace
正则表达式解析函数:regexp_extract
URL解析函数:parse_url
json解析函数:get_json_object
空格字符串函数:space
重复字符串函数:repeat
左补足函数:lpad
右补足函数:rpad
分割字符串函数: split
集合查找函数: find_in_set
分词函数:sentences
分词后统计一起出现频次最高的TOP-K
分词后统计与指定单词一起出现频次最高的TOP-K
十二、混合函数
调用Java函数:java_method
调用Java函数:reflect
字符串的hash值:hash
十三、XPath解析XML函数
xpath
xpath_string
xpath_boolean
xpath_short, xpath_int, xpath_long
xpath_float, xpath_double, xpath_number
十四、汇总统计函数(UDAF)
个数统计函数: count
总和统计函数: sum
平均值统计函数: avg
最小值统计函数: min
最大值统计函数: max
非空集合总体变量函数: var_pop
非空集合样本变量函数: var_samp
总体标准偏离函数: stddev_pop
样本标准偏离函数: stddev_samp
10.中位数函数: percentile
中位数函数: percentile
近似中位数函数: percentile_approx
近似中位数函数: percentile_approx
直方图: histogram_numeric
集合去重数:collect_set
集合不去重函数:collect_list
十五、表格生成函数Table-Generating Functions (UDTF)
数组拆分成多行:explode