Hive 内置函数
Hive 内置函数看起来与SQL函数非常相似,除了它们的用法有些区别。
内置函数
Hive支持以下内置函数:
返回类型 | 签名 | 描述 |
---|---|---|
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,...) | 它返回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) rtrim(字符串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的结果转换为``,例如cast('1'作为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) | 它返回日期或时间戳字符串的年份部分:年(“1970-01-01 00:00:00”)= 1970,年(“1970-01-01”)= 1970 |
int | month(string date) | 它返回日期或时间戳字符串的月份部分:月份(“1970-11-01 00:00:00”)= 11,月份(“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) | 它返回组中列的最大值。 |
视图根据用户需求生成,您可以将任何结果集数据保存为视图。Hive视图的用法与SQL视图的用法相同。这是一个标准的RDBMS概念。我们可以在视图上执行所有的DML操作。 创建视图您可以在执行SELECT语句时创 ...