Hive中如何进行数据汇总操作?代码举例讲解

在Hive中,我们可以使用以下方式进行数据汇总操作:

1. COUNT():

  • COUNT()函数可以用于统计行数。
  • 我们可以统计表中的总行数,或指定字段的非空值行数。
    例如:
SELECT COUNT(*) FROM employees;     -- 总行数
SELECT COUNT(commission) FROM employees; -- 有commission值的行数

2. MIN()和MAX():

  • MIN()和MAX()函数可以用于获取最小/最大值。
  • 我们可以对数字字段或时间戳字段使用MIN()和MAX()。
    例如:
SELECT MIN(salary) FROM employees;   -- 最低工资 
SELECT MAX(start_date) FROM projects; -- 最晚开始时间

3. SUM():

  • SUM()函数可以对数值字段进行求和。
  • 这可用于对订单总金额.销售总额等指标进行汇总。
    例如:
SELECT SUM(salary) FROM employees;  -- 所有工资总和
SELECT SUM(amount) FROM orders;    -- 订单总金额 

4. AVG():

  • AVG()函数可以对数值字段计算平均值。
  • 这可用于计算平均工资.平均订单金额等。
    例如:
SELECT AVG(salary) FROM employees;   -- 平均工资
SELECT AVG(amount) FROM orders;     -- 平均订单金额

5. GROUP BY:

  • GROUP BY子句可以对数据进行分组,然后使用聚合函数进行汇总。
  • 这可以实现更细粒度的汇总,譬如每个部门工资总和等。
    例如:
SELECT dept_id, SUM(salary) 
FROM employees 
GROUP BY dept_id;