1.应用背景:
实际生产中,各种指标的报表统计,往往都会涉及到多维分析,比如,统计日活数,日会话次数,日回头访客数,日新,日用户平均访问时长,访问深度……都需要从不同维度,各种角度去分析,如果上述维度分析需求,都逐个开发计算sql(逐个去group by聚合),工作繁冗!
那么,如何解决这个问题呢?
2.实现过程:
2.1 关键要点:
- 创建一个统一的目标维度分析聚合结果表,这个表应该包含所有的维度字段
- 利用hive的高阶聚合函数,在一个sql中,即可计算出所有可能的维度组合
2.2 Cube表模型:这种表,在业内通常被称之为: cube (多维数据立方体)
| 省 |
市 |
区 |
手机型号 |
操作系统 |
App版本 |
下载渠道 |
小时段 |
日活总数 |
| 江西 |
\n |
\n |
\n |
\n |
\n |
\n |
\n |
1000 |
| 江苏 |
\n |
\n |
\n |
\n |
\n |
\n |
\n |
1500 |
| 河南 |
\n |
\n |
\n |
\n |

实际生产中,指标报表统计涉及多维分析,逐个开发计算sql工作繁冗。可创建统一目标维度分析聚合结果表,利用hive高阶聚合函数在一个sql中计算所有可能维度组合。介绍了Cube表模型,还阐述了hive的With cube、Grouping sets、With rollup三个高阶函数。
最低0.47元/天 解锁文章
1403





