HiveQL 函数

HiveQL 函数

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

HiveQL 函数

Hive中的函数示例

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

  • 选择我们想要创建表的数据库。
hive> use hql;  
  • 使用以下命令创建一个Hive表:-
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;

HiveQL 函数

Hive中的数学函数

在Hive中常用的数学函数有:-

返回类型 函数 描述
BIGINT round(num) 返回DOUBLE num的四舍五入的BIGINT值。
BIGINT floor(num) 返回不大于num的最大BIGINT。
BIGINT ceil(num), ceiling(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 ;  

HiveQL 函数

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;

HiveQL 函数

  • 让我们看一个示例,获取员工的最低工资。
hive> select min(Salary) from employee_data;

HiveQL 函数

在Hive中的其他内置函数

以下是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;

HiveQL 函数

  • 让我们看一个示例,获取每个员工的姓名的小写形式。
select Id, lower(Name) from employee_data;

HiveQL 函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程