本文概述
Hive提供了各种内置函数来执行数学和聚合类型运算。在这里, 我们将在下表的记录上执行此类功能:
Hive中的功能示例
让我们创建一个表, 并使用以下步骤将数据加载到其中:-
- 选择我们要在其中创建表的数据库。
hive> use hql;
- 使用以下命令创建配置单元表:-
hive> create table employee_data (Id int, Name string , Salary float)
row format delimited
fields terminated by ', ' ;
- 现在, 将数据加载到表中。
hive> load data local inpath '/home/codegyani/hive/emp_details' into table employee_data;
- 让我们使用以下命令获取已加载的数据:-
hive> select * from employee_data;
现在, 我们将通过相应的示例讨论数学, 集合函数和其他内置函数。
Hive中的数学函数
Hive中常用的数学函数是:-
返回类型 | 功能 | 描述 |
---|---|---|
BIGINT | round(num) | 它返回BIGINT为DOUBLE num的舍入值。 |
BIGINT | floor(num) | 它返回小于或等于num的最大BIGINT。 |
BIGINT | 天花板数(num), 天花板数(double num) | 它返回大于或等于num的最小BIGINT。 |
DOUBLE | exp(num) | 它返回num的指数。 |
DOUBLE | ln(num) | 它返回num的自然对数。 |
DOUBLE | log10(num) | 它返回num的以10为底的对数。 |
DOUBLE | sqrt(num) | 它返回num的平方根。 |
DOUBLE | abs(num) | 它返回num的绝对值。 |
DOUBLE | sin(d) | 它以弧度返回num的罪过。 |
DOUBLE | asin(d) | 它以弧度返回num的反正弦值。 |
DOUBLE | cos(d) | 它以弧度返回num的余弦值。 |
DOUBLE | acos(d) | 它以弧度返回num的反余弦值。 |
DOUBLE | tan(d) | 它以弧度返回num的切线。 |
DOUBLE | atan(d) | 它以弧度返回num的反正切值。 |
Hive中的数学函数示例
- 让我们看一个获取每个员工薪水平方根的示例。
hive> select Id, Name, sqrt(Salary) from employee_data ;
Hive中的汇总函数
在Hive中, 聚合函数返回一个由多个行计算得出的值。我们来看一些常用的聚合函数:-
返回类型 | 操作员 | 描述 |
---|---|---|
BIGINT | count(*) | 它返回文件中存在的行数的计数。 |
DOUBLE | sum(col) | 它返回值的总和。 |
DOUBLE | sum(DISTINCT col) | 它返回不同值的总和。 |
DOUBLE | avg(col) | 它返回值的平均值。 |
DOUBLE | avg(DISTINCT col) | 它返回不同值的平均值。 |
DOUBLE | min(col) | 它比较这些值并从中返回最小值。 |
DOUBLE | max(col) | 它比较这些值并从中返回最大值。 |
Hive中的聚合函数示例
- 让我们看一个获取员工最高薪水的示例。
hive> select max(Salary) from employee_data;
- 让我们看一个获取员工最低工资的示例。
hive> select min(Salary) from employee_data;
Hive中的其他内置函数
以下是配置单元中其他一些常用的内置函数:-
返回类型 | 操作员 | 描述 |
---|---|---|
INT | length(str) | 它返回字符串的长度。 |
STRING | reverse(str) | 它以相反的顺序返回字符串。 |
STRING | concat(str1, str2, …) | 它返回两个或多个字符串的串联。 |
STRING | substr(str, start_index) | 它根据提供的起始索引从字符串中返回子字符串。 |
STRING | substr(str, int start, int length) | 它根据提供的起始索引和长度从字符串中返回子字符串。 |
STRING | upper(str) | 它以大写形式返回字符串。 |
STRING | lower(str) | 它以小写形式返回字符串。 |
STRING | trim(str) | 它通过删除两端的空格来返回字符串。 |
STRING | ltrim(str) | 它通过删除左侧的空格来返回字符串。 |
TRING | rtrim(str) | 它通过删除右侧的空格来返回字符串。 |
Hive中其他内置函数的示例
- 让我们看一个示例, 以大写形式获取每个员工的姓名。
select Id, upper(Name) from employee_data;
- 让我们看一个示例, 以小写形式获取每个员工的姓名。
select Id, lower(Name) from employee_data;
评论前必须登录!
注册