Hive 简明教程
Hive - Built-in Functions
本章解释了 Hive 中可用的内建函数。这些函数除了用法外,都与 SQL 函数十分相似。
Built-In Functions
Hive 支持以下内建函数:
Return Type |
Signature |
Description |
BIGINT |
round(double a) |
返回 double 的四舍五入的 BIGINT 值。 |
BIGINT |
floor(double a) |
返回等于或小于 double 的最大 BIGINT 值。 |
BIGINT |
ceil(double a) |
返回等于或大于 double 的最小 BIGINT 值。 |
double |
rand(), rand(int seed) |
返回逐行更改的随机数。 |
string |
concat(string A, string B,…) |
它返回将 B 追加到 A 后的结果串。 |
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) |
Same as above. |
string |
lower(string A) |
它返回将 B 中所有字符转换为小写后的结果串。 |
string |
lcase(string A) |
Same as above. |
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>) |
它返回 map 类型的元素数量。 |
int |
size(Array<T>) |
它返回 array 类型的元素数量。 |
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。 |
Aggregate Functions
Hive 支持以下内置 aggregate functions 。这些函数的使用与 SQL 聚合函数相同。
Return Type |
Signature |
Description |
BIGINT |
count(*), count(expr), |
count(*) - 返回检索到的总行数。 |
DOUBLE |
sum(col), sum(DISTINCT col) |
返回组中元素的总和或组中列的唯一值总和。 |
DOUBLE |
avg(col), avg(DISTINCT col) |
返回组中元素的平均值或组中列的唯一值平均值。 |
DOUBLE |
min(col) |
返回组中列的最小值。 |
DOUBLE |
max(col) |
返回组中列的最大值。 |