hive-7 Hive高级查询之group-by

本文介绍了Hive中的Group by功能,包括其用途、基本语法和示例,强调了使用时的注意事项。还探讨了高级特性——Multi-Group-By Inserts,允许将聚合结果输出到多个表或文件。此外,文章详细讲解了Group by的优化策略,如Map端部分聚合、处理数据倾斜和调整ReduceTask数量,以提高查询效率。

用处

  • group by经常和聚合函数一起使用,按照一个活多个列对结果进行分组,然后对每个组进行聚合操作。

Group by语法

groupByClause: GROUP BY groupByExpression (, groupByExpression)*
groupByExpression: expression
groupByQuery: SELECT expression (, expression)* FROM src groupByClause?

示例

  • 根据性别,计算去重用户数
  INSERT OVERWRITE TABLE pv_gender_sum
  SELECT pv_users.gender, count (DISTINCT pv_users.userid)
  FROM pv_users
  GROUP BY pv_users.gender;

注意

  • 使用group by时,select语句只能包含group by的列和聚合函数
# 合法
SELECT
   a,
   
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值