hive 集合函数
Hive是一个基于Hadoop的数据仓库系统,它允许使用类SQL语言来处理存储在Hadoop分布式文件系统中的数据。Hive提供了丰富的集合函数(Aggregate Functions),用于在数据分析中对数据进行聚合操作。本文将介绍Hive的常用集合函数,并提供相应的示例。
1. COUNT
COUNT函数用于统计表中符合条件的记录条数。语法格式如下:
```
SELECT COUNT(column_name) FROM table_name WHERE condition;
```
column_name表示要统计的列名,如果要统计整个表中的记录数,则可以使用COUNT(*)。
示例:
统计表employee中所有记录的数量:
```
SELECT COUNT(*) FROM employee;
```
2. SUM
SUM函数用于计算表中某一列的数值总和。语法格式如下:
```
SELECT SUM(column_name) FROM table_name WHERE condition;
```
示例:
统计表employee中所有员工的工资总和:
```
SELECT SUM(salary) FROM employee;
```
3. AVG
AVG函数用于计算表中某一列的数值平均值。语法格式如下:
```
SELECT AVG(column_name) FROM table_name WHERE condition;
```
示例:
统计表employee中所有员工的平均工资:
```
SELECT AVG(salary) FROM employee;
```
4. MAX
MAX函数用于求取表中某一列的最大值。语法格式如下:
```
SELECT MAX(column_name) FROM table_name WHERE condition;
```
示例:
统计表employee中员工最高工资:
```
SELECT MAX(salary) FROM employee;
```
5. MIN
MIN函数用于求取表中某一列的最小值。语法格式如下:
```
SELECT MIN(column_name) FROM table_name WHERE condition;
```
示例:
统计表employee中员工最低工资:
```
SELECT MIN(salary) FROM employee;
```
6. GROUP BY
GROUP BY语句用于分组统计表中符合条件的记录。语法格式如下:
```
SELECT column1, column2, ..., function_name(column_name) FROM table_name WHERE condition GROUP BY column1, column2, ...;
```
column1、column2等是要分组的列名,function_name是要使用的聚合函数,column_name是要计算的列名。
column函数的使用 示例:
统计表employee中每个部门的员工数量:
```
SELECT dept, COUNT(*) FROM employee GROUP BY dept;
```
统计表employee中每个部门的平均工资:
```
SELECT dept, AVG(salary) FROM employee GROUP BY dept;
```
7. ORDER BY
ORDER BY语句用于按照某一列对查询结果进行排序。语法格式如下:
```
SELECT column1, column2, ... FROM table_name WHERE condition ORDER BY column_name ASC|DESC;
```
ASC表示升序排序,DESC表示降序排序。
示例:
按照员工工资从高到低排序:
```
SELECT name, salary FROM employee ORDER BY salary DESC;
```
8. DISTINCT
DISTINCT关键字用于去重查询结果。语法格式如下:
```
SELECT DISTINCT column1, column2, ... FROM table_name WHERE condition;
```
示例:
查询表employee中不重复的部门列表:
```
SELECT DISTINCT dept FROM employee;
```
9. HAVING
HAVING语句用于对GROUP BY语句分组后的结果进行筛选。语法格式如下:
```
SELECT column1, column2, ..., function_name(column_name) FROM table_name WHERE condition GROUP BY column1, column2, ... HAVING condition;
```
function_name是聚合函数,column_name是要计算的列名,condition是查询条件。
示例:
统计表employee中平均工资大于10000的部门:
```
SELECT dept, AVG(salary) FROM employee GROUP BY dept HAVING AVG(salary) > 10000;
```
10. CONCAT
CONCAT函数用于字符串的连接。语法格式如下:
```
SELECT CONCAT(column1, string1, column2, string2, ...) FROM table_name WHERE condition;
```
column1、column2等是要连接的列名,string1、string2等是连接的字符串。
示例:
将表employee中每个员工的姓名和部门名称连接起来:
```
SELECT CONCAT(name, ' - ', dept) FROM employee;
```
总结
在Hive中,集合函数可以帮助我们对数据进行快速的聚合操作,例如求和、求平均值、求
最大值等。GROUP BY、ORDER BY、DISTINCT和HAVING等关键字也可以对查询结果进行进一步的统计和筛选。在实际数据分析中,根据具体需求选择相应的统计函数和关键字可以帮助我们更快速地获取数据洞察,为业务决策提供支持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论