返回介绍

Hive 内置函数 - Hive 教程

发布于 2025-02-22 13:46:39 字数 3781 浏览 0 评论 0 收藏 0

本章介绍了在 Hive 中可用的内置函数。这些函数看起来非常类似于 SQL 的函数,除了他们的使用有点不一样。

内置函数

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)返回该组中的列的最大值。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文