玖叶教程网

前端编程开发入门

Hive 内置函数(hive2.0函数大全)

本章介绍了Hive中可用的内置功能。这些函数除了用法外,看上去与SQL函数非常相似。

内建功能

Hive支持以下内置功能:

______________________________________________________________________________________________________

返回类型                             函数名                                             描述
———————————————————————————————————————————
BIGINT                        round(double a)                     返回双精度的四舍五入的BIGINT值

BIGINT                        floor(double a)                        返回等于或小于双精度值的最大BIGINT值。

BIGINT      	                ceil(double a)                            返回等于或大于双精度值的最小BIGINT值。

double                       rand(), rand(int seed)                 返回随行变化的随机数

string                         concat(string A, string B,...)          返回在A之后连接B所得到的字符串。

string                         substr(string A, int start)                从字符串的起始位置开始直到字符串A的结尾,
                                                                                          返回A的子字符串

string                         substr(string A, int start, int length)  从起始位置开始以给定的长度返回A的子字符串。

string                         upper(string A)                           返回将A的所有字符都转换为大写字母的字符串。

string                         ucase(string A)                              同上。

string                         lower(string A)                             返回将B的所有字符都转换成小写形式的字符串。

string                         lcase(string A)                               同上。

string                        trim(string A)                               返回从A的两端修剪空格得到的字符串。

string                        ltrim(string A)                               返回从A的开头(左侧)起修剪空格所得到的字符串。

string                         rtrim(string A)  rtrim(string A)返回从A的末端(右侧)修剪空格得到的字符串。

string                        regexp_replace(string A, string B, string C) 返回由B中所有与Java正则表达式语法
                                                                                                       匹配的子字符串替换为C所得到的字符串。

int                           size(Map<K.V>)                               返回地图类型中的元素数。

 int                            size(Array<T>)                               返回数组类型中的元素数

value of <type>        cast(<expr> as <type>)                将表达式expr的结果转换为<type>,例如
                                                                                        cast('1'as BIGINT)将字符串'1'转换为其整
                                                                                        数表示。如果转换不成功,则返回NULL。
                
 string                        from_unixtime(int unixtime)          将以Unix纪元(1970-01-01 00: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

string                          get_json_object(string json_string, string path)   根据指定的json路径从json字符串
                                                                                                                  中提取json对象,并返回提取的
                                                                                                                   json对象的json字符串。如果输入
                                                                                                                   的json字符串无效,则返回NULL。

以下查询演示了一些内置功能:

round()函数

hive> SELECT round(2.6) from temp;

成功执行查询后,您将看到以下响应:

3.0

floor()函数

hive> SELECT floor(2.6) from temp;

成功执行查询后,您将看到以下响应:

2.0

ceil()函数

hive> SELECT ceil(2.6) from temp;

成功执行查询后,您将看到以下响应:

3.0

汇总功能

Hive支持以下内置聚合函数。这些函数的用法与SQL聚合函数相同。

————————————————————————————————————————————
返回类型                                  函数名                                                  描述
————————————————————————————————————————————
BIGINT 											 count(*), count(expr),   count(*) 			返回已检索行的总数。

DOUBLE  										sum(col), sum(DISTINCT col)              返回组中元素的总和或组中列的不同值
                                                                                                的总和。


DOUBLE 											 avg(col), avg(DISTINCT col)  		       返回组中元素的平均值或组中列的
 											 											 											 											 		 不同值的平均值。

DOUBLE  											min(col)  											 							    返回组中列的最小值。

DOUBLE 												max(col) 																			    返回组中列的最大值。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言