hive内置函数

2018年01月12日 10:46 | 717次浏览

内置函数

Hive支持以下内置函数:

返回类型签名描述
BIGINTround(double a)返回BIGINT最近的double值
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)它返回转换B的所有字符为小写产生的字符串。
stringlcase(string A)和上面的一样
stringtrim(string A)它返回字符串从A.两端修剪空格的结果
stringltrim(string A)它返回A从一开始修整空格产生的字符串(左手侧)
stringrtrim(string A)rtrim(string A),它返回A从结束修整空格产生的字符串(右侧)
stringregexp_replace(string A, string B, string C)它返回从替换所有子在B结果配合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"
stringto_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
stringget_json_object(string json_string, string path)提取从基于指定的JSON路径的JSON字符串JSON对象,并返回提取的JSON字符串的JSON对象。如果输入的JSON字符串无效,返回NULL。






实例

以下查询演示了一些内置函数:

round() 函数

hive> SELECT round(2.6) from temp;

成功执行的查询,能看到以下回应:

2.0

floor() 函数

hive> SELECT floor(2.6) from temp;

成功执行的查询,能看到以下回应:

2.0

floor() 函数

hive> SELECT ceil(2.6) from temp;

成功执行的查询,能看到以下回应:

3.0

聚合函数

Hive支持以下内置聚合函数。这些函数的用法类似于SQL聚合函数。


返回类型签名描述
BIGINTcount(*), count(expr),count(*) - 返回检索行的总数。
DOUBLEsum(col), sum(DISTINCT col)返回该组或该组中的列的不同值的分组和所有元素的总和。
DOUBLEavg(col), avg(DISTINCT col)返回上述组或该组中的列的不同值的元素的平均值。
DOUBLEmin(col)返回该组中的列的最小值。
DOUBLEmax(col)返回该组中的列的最大值。



感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程


上一篇:内置运算符 下一篇:sql 表连接
^