Hive 内置函数
本章介绍 Hive 中可用的内置函数。这些函数看起来与 SQL 函数非常相似,除了它们的用法。
内置函数
Hive 支持以下内置函数:
返回类型 | 签名 | 描述 |
---|---|---|
BIGINT | 圆形(双a) | 它返回 double 的舍入 BIGINT 值。 |
BIGINT | 地板(双a) | 它返回等于或小于双精度的最大 BIGINT 值。 |
BIGINT | ceil(双a) | 它返回等于或大于双精度的最小 BIGINT 值。 |
double | rand(), rand(int 种子) | 它返回一个随行变化的随机数。 |
string | 连接(字符串 A,字符串 B,...) | 它返回在 A 之后连接 B 得到的字符串。 |
string | substr(字符串 A,int 开始) | 它返回从起始位置到字符串 A 结尾的 A 的子字符串。 |
string | substr(字符串 A,int 开始,int 长度) | 它返回从给定长度的起始位置开始的 A 的子字符串。 |
string | 上(字符串 A) | 它返回将 A 的所有字符转换为大写的字符串。 |
string | 用例(字符串 A) | 和上面一样。 |
string | 较低(字符串 A) | 它返回将 B 的所有字符转换为小写的字符串。 |
string | lcase(字符串 A) | 和上面一样。 |
string | 修剪(字符串 A) | 它返回从 A 的两端修剪空格产生的字符串。 |
string | ltrim(字符串 A) | 它返回从 A 的开头(左侧)修剪空格产生的字符串。 |
string | rtrim(字符串 A) | rtrim(字符串 A) 它返回从 A 的末尾(右侧)修剪空格产生的字符串。 |
string | regexp_replace(字符串 A,字符串 B,字符串 C) | 它返回将 B 中与 Java 正则表达式语法匹配的所有子字符串替换为 C 所产生的字符串。 |
int |
大小(地图 |
它返回地图类型中的元素数量。 |
int |
大小(数组 |
它返回数组类型中的元素数。 |
<类型> 的值 |
cast( |
它将表达式 expr 的结果转换为 |
string | from_unixtime(int unixtime) | 将 Unix 纪元 (1970-01-01 00:00:00 UTC) 的秒数转换为表示当前系统时区中该时刻时间戳的字符串,格式为“1970-01-01 00:00: 00" |
string | to_date(字符串时间戳) | 它返回时间戳字符串的日期部分:to_date("1970-01-01 00:00:00") = "1970-01-01" |
int | 年份(字符串日期) | 它返回日期或时间戳字符串的年份部分: year("1970-01-01 00:00:00") = 1970, year("1970-01-01") = 1970 |
int | 月(字符串日期) | 它返回日期或时间戳字符串的月份部分:month("1970-11-01 00:00:00") = 11, month("1970-11-01") = 11 |
int | 日(字符串日期) | 它返回日期或时间戳字符串的日期部分:day("1970-11-01 00:00:00") = 1, day("1970-11-01") = 1 |
string | get_json_object(string json_string, 字符串路径) | 它根据指定的 json 路径从 json 字符串中提取 json 对象,并返回提取的 json 对象的 json 字符串。如果输入的 json 字符串无效,则返回 NULL。 |
例子
以下查询演示了一些内置函数:
round() 函数
hive> SELECT round(2.6) from temp;
成功执行查询后,你会看到以下响应:
3.0
地板()函数
hive> SELECT floor(2.6) from temp;
成功执行查询后,你将看到以下响应:
2.0
ceil() 函数
hive> SELECT ceil(2.6) from temp;
成功执行查询后,你将看到以下响应:
3.0
聚合函数
Hive 支持以下内置 聚合函数 .这些函数的用法与 SQL 聚合函数相同。
返回类型 | 签名 | 描述 |
---|---|---|
BIGINT | 计数(*),计数(表达式), | count(*) - 返回检索到的总行数。 |
DOUBLE | 总和(列),总和(DISTINCT 列) | 它返回组中元素的总和或组中列的不同值的总和。 |
DOUBLE | 平均(列),平均(不同列) | 它返回组中元素的平均值或组中列的不同值的平均值。 |
DOUBLE | min(col) | 它返回组中列的最小值。 |
DOUBLE | max(col) | 它返回组中列的最大值。 |