熟练使用多维度聚合函数,可以帮助开发者减少在处理数据时需要根据不同维度多次union query的代码编写工作
Hive常见的多维度聚合函数有:
- With Cube:任意维度聚合
- Grouping Sets:指定维度聚合
- With Rollup:GROUP BY最左侧的维度为主层级聚合
函数说明
1、with cube
1)语法:GROUP BY a,b WITH CUBE。
2)作用:根据Group BY维度的所有可能组合进行聚合。类似于Apache Kylin的Cube多维立方体概念。n个维度会有2的n次方种组合。
-- 查询query
select day_id
,platform
,count(1) num
from user_action_log
where day_id = '2019-01-01'
group by day_id,platform
with cube
结果:
day_id | platform |
---|