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
- Map拆分成多行:explode
下载地址:
链接: https://pan.baidu.com/s/1i6n0xGL
密码: 48s7