HiveQL - 函数

2025年3月17日 | 阅读 3 分钟

Hive 提供了各种内置函数来执行数学和聚合类型的操作。在这里,我们将对下表中的记录执行此类函数。

HiveQL - Functions

Hive 中的函数示例

让我们创建一个表,并通过以下步骤将数据加载到其中:-

  • 选择我们要创建表的数据库。
  • 使用以下命令创建 Hive 表:-
  • 现在,将数据加载到表中。
  • 让我们使用以下命令获取加载的数据:-

HiveQL - Functions

现在,我们将讨论数学、聚合和其他内置函数以及相应的示例。

Hive 中的数学函数

hive 中常用的数学函数有:-

返回类型函数描述
BIGINTround(num)它返回 DOUBLE num 的四舍五入值的 BIGINT。
BIGINTfloor(num)它返回小于或等于 num 的最大 BIGINT。
BIGINTceil(num), ceiling(DOUBLE num)它返回大于或等于 num 的最小 BIGINT。
DOUBLEexp(num)它返回 num 的指数。
DOUBLEln(num)它返回 num 的自然对数。
DOUBLElog10(num)它返回 num 的以 10 为底的对数。
DOUBLEsqrt(num)它返回 num 的平方根。
DOUBLEabs(num)它返回 num 的绝对值。
DOUBLEsin(d)它返回 num 的正弦值,以弧度为单位。
DOUBLEasin(d)它返回 num 的反正弦值,以弧度为单位。
DOUBLEcos(d)它返回 num 的余弦值,以弧度为单位。
DOUBLEacos(d)它返回 num 的反余弦值,以弧度为单位。
DOUBLEtan(d)它返回 num 的正切值,以弧度为单位。
DOUBLEatan(d)它返回 num 的反正切值,以弧度为单位。

Hive 中数学函数的示例

  • 让我们看一个示例来获取每个员工工资的平方根。

HiveQL - Functions

Hive 中的聚合函数

在 Hive 中,聚合函数返回一个由多行计算产生的单个值。 让我们看看一些常用的聚合函数:-

返回值运算符描述
BIGINTcount(*)它返回文件中存在的行数。
DOUBLEsum(col)它返回值的总和。
DOUBLEsum(DISTINCT col)它返回不同值的总和。
DOUBLEavg(col)它返回值的平均值。
DOUBLEavg(DISTINCT col)它返回不同值的平均值。
DOUBLEmin(col)它比较值并返回其中的最小值。
DOUBLEmax(col)它比较值并返回其中的最大值。

Hive 中聚合函数的示例

  • 让我们看一个示例来获取员工的最高工资。

HiveQL - Functions
HiveQL - Functions
HiveQL - Functions
  • 让我们看一个示例来获取员工的最低工资。

HiveQL - Functions
HiveQL - Functions
HiveQL - Functions

Hive 中的其他内置函数

以下是一些 Hive 中常用的其他内置函数:-

返回值运算符描述
INTlength(str)它返回字符串的长度。
字符串reverse(str)它以相反的顺序返回字符串。
字符串concat(str1, str2, ...)它返回两个或多个字符串的连接。
字符串substr(str, start_index)它根据提供的起始索引从字符串返回子字符串。
字符串substr(str, int start, int length)它根据提供的起始索引和长度从字符串返回子字符串。
字符串upper(str)它以大写形式返回字符串。
字符串lower(str)它以小写形式返回字符串。
字符串trim(str)它通过删除两端的空格返回字符串。
字符串ltrim(str)它通过从左侧删除空格来返回字符串。
TRINGrtrim(str)它通过从右侧删除空格来返回字符串。

Hive 中其他内置函数的示例

  • 让我们看一个示例来获取每个员工的大写姓名。

HiveQL - Functions
  • 让我们看一个示例来获取每个员工的小写姓名。

HiveQL - Functions