同一张表如何计算不同粒度的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同一张表如何计算不同粒度的数据相关的知识,希望对你有一定的参考价值。

参考技术A 跨视图数据粒度计算(Cross-Granularity Calculation)是网易有数推出的新功能,CGC的优点是您可以独立于当前视图用的维度来执行此计算。CGC计算表达式一共有三种,分别是:FIXED,INCLUDE,和EXCLUDE。为了理解网易有数的CGC在何时/何地/为什么需要使 参考技术B 在Hive中,会出现对同一个数据表进行不同粒度的汇总,这时可以有两种方案:

用多个sql,对不同粒度使用不同的 group by 方法。
用1个sql,使用 grouping sets 方法一次性得到所有粒度的汇总。

以测试数据表 tmp_student 为例:
1、生成测试数据

在 hive 环境中创建临时表:

以上是关于同一张表如何计算不同粒度的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何对链接到具有不同粒度级别的多个事实的维度表进行建模?

如何比较来自不同列和不同行但同一张表的值?

从具有不同条件的同一张表中获取数据[关闭]

如何获取同一张表中不同类别的布尔值的比例

关系数据库:以不同的解释重用同一张表

将同一张表映射到两个不同的列表