为了方便开发人员使用函数,Hive提供了大量的内置函数,包括数学函数,集合函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数,日期函数
内置函数
(1)类型转换函数(以cast()函数为例)
公式:
cast(表达式 as 数据类型)
cast函数,可以将"20190607"这样类型的时间数据转化成int类型数据。
cast("20190607" as int)
例:cast(expr as <type>)
例如:cast(“1” as bigint)
select cast(money as bigint);
(2)切割
split函数是编程语言中使用的一种函数名称,它是指返回一个下标从零开始的一维数组,split函数包含指定数目的子字符串。
split 切割函数
语法:split(string str, string pat)
select split('nihao|hello|nice','\\|')
返回值: array
说明: 按照pat字符串分割str,会返回分割后的字符串数组
可截取字符串中的某个值
可截取特殊字符
(3)正则表达式截取字符串
在hive环境中相关的函数有如下三个:
regexp :主要用在where子句中,用来选择内容
regexp_extract :用在select 子句中,用来从目标内容中提取指定样式内容
regexp_replace :用在select 子句中,用来将目标内容的特定部分替换成指定的内容
例:regexp_extract(string subject, string pattern, int index)
select regexp_extract('hello<B>nice</B>haha','<B>(.*)</B>',1)
select regexp_extract(字段名,正则表达式,索引)
(4)将字符串前后出现的空格去掉:trim(string A)
(5)求指定列的聚合函数
聚合函数是hive内置函数,聚合函数对一组数据进行计算,并返回单个值
常用聚合函数