Hive 高级操作(三)之 Hive 内置函数

1、Hive 内置函数

内容较多,见《Hive 官方文档》:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

2、测试内置函数

快捷方式:
第一种方式:直接使用,例如:select concat(‘a’,‘a’) ----> aa
第二种方式:
(1)创建一个 dual 表 create table dual(id string);
(2)load 一个文件(一行,一个空格)到 dual 表;
(3)select substr(‘huangbo’,2,3) from dual。

3、展示内置函数

(1)查看内置函数:

show functions;

(2)显示函数的详细信息:

desc function abs;

(3)显示函数的扩展信息:

desc function extended concat;

4、内置函数列表

4.1、关系运算

释义关系运算符
等值比较=
等值比较<=>
不等值比较<>和!=
小于比较<
小于等于比较<=
大于比较>
大于等于比较>=
空值判断IS NULL
非空判断IS NOT NULL
LIKE 比较LIKE
JAVA 的 LIKE 操作RLIKE
REGEXP 操作REGEXP

4.2、数学运算

释义数学运算符
加法操作+
减法操作
乘法操作*
除法操作/
取余操作%
位与操作&
位或操作I
位异或操作^
位取反操作~

4.3、逻辑运算

释义逻辑运算符
逻辑与操作AND 、&&
逻辑或操作OR 、II
逻辑非操作NOT、!

4.4、复合类型构造函数

map 结构
struct 结构
named_struct 结构
array 结构
create_union
获取 array 中的元素
获取 map 中的元素
获取 struct 中的元素

4.5、数值计算函数

释义数值计算函数
取整函数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

4.6、集合操作函数

释义集合操作函数
求 map 类型的长度size(map)
求 array 类型的大小size(array)
判断元素数组是否包含元素 “test”array_contains(array, “test”)
获取 map 中所有 value 集合,结果为数组map_values(map)
获取 map 中所有 key 集合,结果为数组map_keys(map)
数组排序sort_array(array)

4.7、类型转换函数

释义类型转换函数
二进制转换binary
基础类型之间强制转换cast

4.8、日期函数

释义日期函数
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

4.9、条件函数

释义条件函数
If 函数if
非空查找函数COALESCE
条件判断函数CASE

4.10、字符串函数

释义字符串函数
字符 ascii 码函数ascii
字符串连接函数concat
带分隔符字符串连接函数concat_ws
数组转换成字符串的函数concat_ws
小数位格式化成字符串函数format_number
字符串截取函数substr,substring
字符串截取函数substr,substring
字符串查找函数instr
字符串长度函数length
字符串查找函数locate
字符串格式化函数printf
字符串转换成 map 函数str_to_map
base64 字符串base64(string str)
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
分词函数,分词后统计一起出现频次最高的 TOP-K,分词后统计与指定单词一起出现频次最高的 TOP-Ksentences

4.11、混合函数

释义混合函数
调用 Java 函数java_method
调用 Java 函数reflect
字符串的 hash 值hash

4.12、XPath 解析 XML 函数

(1)xpath
(2)xpath_string
(3)xpath_boolean
(4)xpath_short, xpath_int, xpath_long
(5)xpath_float, xpath_double, xpath_number

4.13、汇总统计函数(UDAF)

释义汇总统计函数
个数统计函数count
总和统计函数sum
平均值统计函数avg
最小值统计函数min
最大值统计函数max
非空集合总体变量函数var_pop
非空集合样本变量函数var_samp
总体标准偏离函数stddev_pop
样本标准偏离函数stddev_samp
中位数函数percentile
中位数函数percentile
近似中位数函数percentile_approx
近似中位数函数percentile_approx
直方图histogram_numeric
集合去重数collect_set
集合不去重函数collect_list

4.14、表格生成函数 Table-Generating Functions (UDTF)

释义表格生成函数
数组拆分成多行explode(array)
Map 拆分成多行explode(map)

5、学习内容

上节学习内容:Hive 高级操作(二)之视图
下节学习内容:Hive 高级操作(四)之 Hive 自定义函数 UDF

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值