简介
因为是类SQL语言,所以基本函数与SQL相差无几,以下介绍Hive中可用的内置函数。
内置函数
返回类型 | 函数名 | 描述 |
---|
BIGINT | round(double a) | 返回double最近的BIGINT值。 |
BIGINT | floor(double a) | 返回最小BIGINT值等于或小于double |
BIGINT | ceil(double a) | 返回最大BIGINT值等于或大于double |
double | rand(), rand(int seed) | 返回一个随机数 |
string | concat(string A, string B,...) | 返回串联A,B后的字符串 |
string | substr(string A, int start) | 返回从起始位置的子字符串,直到A结束 |
string | substr(string A, int start, int length) | 返回从给定长度的起始start位置开始的字符串 |
string | upper(string A) | 返回所有字符的大写字符串 |
string | ucase(string A) | 同上 |
string | lower(string A) | 返回所有字符的小写字符串 |
string | lcase(string A) | 同上 |
string | trim(string A) | 返回的字符串为去除A左右空格的字符串 |
string | ltrim(string A) | 返回的字符串为去除A左侧空格的字符串 |
string | rtrim(string A) | 返回的字符串为去除A右侧空格的字符串 |
string | regexp_replace(string A, string B, string C) | 在Java正则表达式语法的字符串 |
int | size(Map< K.V >) | 返回在映射类型的元素的数量 |
int | size(Array< T >) | 返回在数组类型元素的数量 |
value of < type > | cast(< expr > as < type >) | 把表达式的结果expr<类型>如cast('1'作为BIGINT)代表整体转换为字符串'1'。如果转换不成功,返回的是NULL |
string | from_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" |
int | year(string date) | 返回年份部分的日期或时间戳字符串:year("1970-01-01 00:00:00") = 1970, year("1970-01-01") = 1970 |
int | month(string date) | 返回日期或时间戳记字符串月份部分:month("1970-11-01 00:00:00") = 11, month("1970-11-01") = 11 |
int | day(string date) | 返回日期或时间戳记字符串当天部分:day("1970-11-01 00:00:00") = 1, day("1970-11-01") = 1 |
int | day(string date) | 返回日期或时间戳记字符串当天部分:day("1970-11-01 00:00:00") = 1, day("1970-11-01") = 1 |
string | get_json_object(string json_string, string path) | 提取从基于指定的JSON路径的JSON字符串JSON对象,并返回提取的JSON字符串的JSON对象。如果输入的JSON字符串无效,返回NULL |
聚合函数
返回类型 | 函数名 | 描述 |
---|
BIGINT | count(*), count(expr) | count(*) 返回检索行的总数 |
DOUBLE | sum(col), sum(DISTINCT col) | 返回该组或该组中的列的不同值的分组和所有元素的总和 |
DOUBLE | avg(col), avg(DISTINCT col) | 返回上述组或该组中的列的不同值的元素的平均值 |
DOUBLE | min(col) | 返回该组中的列的最小值 |
DOUBLE | max(col) | 返回该组中的列的最大值 |