Hive 内置函数

简介

因为是类SQL语言,所以基本函数与SQL相差无几,以下介绍Hive中可用的内置函数。

内置函数
返回类型函数名描述
BIGINTround(double a)返回double最近的BIGINT值。
BIGINTfloor(double a)返回最小BIGINT值等于或小于double
BIGINTceil(double a)返回最大BIGINT值等于或大于double
doublerand(), rand(int seed)返回一个随机数
stringconcat(string A, string B,...)返回串联A,B后的字符串
stringsubstr(string A, int start)返回从起始位置的子字符串,直到A结束
stringsubstr(string A, int start, int length)返回从给定长度的起始start位置开始的字符串
stringupper(string A)返回所有字符的大写字符串
stringucase(string A)同上
stringlower(string A)返回所有字符的小写字符串
stringlcase(string A)同上
stringtrim(string A)返回的字符串为去除A左右空格的字符串
stringltrim(string A)返回的字符串为去除A左侧空格的字符串
stringrtrim(string A)返回的字符串为去除A右侧空格的字符串
stringregexp_replace(string A, string B, string C)在Java正则表达式语法的字符串
intsize(Map< K.V >)返回在映射类型的元素的数量
intsize(Array< T >)返回在数组类型元素的数量
value of < type >cast(< expr > as < type >)把表达式的结果expr<类型>如cast('1'作为BIGINT)代表整体转换为字符串'1'。如果转换不成功,返回的是NULL
stringfrom_unixtime(int unixtime)转换的秒数从Unix纪元(1970-01-0100:00:00 UTC)代表那一刻,在当前系统时区的时间戳字符的串格式:"1970-01-01 00:00:00"
string to_date(string timestamp)返回一个字符串时间戳的日期部分:to_date("1970-01-01 00:00:00") = "1970-01-01"
intyear(string date)返回年份部分的日期或时间戳字符串:year("1970-01-01 00:00:00") = 1970, year("1970-01-01") = 1970
intmonth(string date)返回日期或时间戳记字符串月份部分:month("1970-11-01 00:00:00") = 11, month("1970-11-01") = 11
intday(string date)返回日期或时间戳记字符串当天部分:day("1970-11-01 00:00:00") = 1, day("1970-11-01") = 1
intday(string date)返回日期或时间戳记字符串当天部分:day("1970-11-01 00:00:00") = 1, day("1970-11-01") = 1
stringget_json_object(string json_string, string path)提取从基于指定的JSON路径的JSON字符串JSON对象,并返回提取的JSON字符串的JSON对象。如果输入的JSON字符串无效,返回NULL
聚合函数
返回类型函数名描述
BIGINTcount(*), count(expr)count(*) 返回检索行的总数
DOUBLEsum(col), sum(DISTINCT col)返回该组或该组中的列的不同值的分组和所有元素的总和
DOUBLEavg(col), avg(DISTINCT col)返回上述组或该组中的列的不同值的元素的平均值
DOUBLEmin(col)返回该组中的列的最小值
DOUBLEmax(col)返回该组中的列的最大值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小夏陌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值