汇总数据层以分析的主题对象作为建模驱动,基于上层的应用和产品的指标需求构建公共粒度的汇总表。汇总数据层的一个表通常会对应一个统计粒度(维度或维度组合)及该粒度下若干派生指标。

汇总表设计原则

聚集是指针对原始明细粒度的数据进行汇总。DWS汇总数据层是面向分析对象的主题聚集建模。在本教程中,最终的分析目标为:最近一天某个类目(例如,厨具)商品在各省的销售总额、该类目销售额Top10的商品名称、各省用户购买力分布。因此,我们可以以最终交易成功的商品、类目、买家等角度对最近一天的数据进行汇总。数据聚集的注意事项如下:
  • 聚集是不跨越事实的。聚集是针对原始星形模型进行的汇总。为获取和查询与原始模型一致的结果,聚集的维度和度量必须与原始模型保持一致,因此聚集是不跨越事实的,所以原子指标只能基于一张事实表定义,但是支持原子指标组合为衍生原子指标。
  • 聚集会带来查询性能的提升,但聚集也会增加ETL维护的难度。当子类目对应的一级类目发生变更时,先前存在的、已经被汇总到聚集表中的数据需要被重新调整。

此外,进行DWS层设计时还需遵循数据公用性原则。数据公用性需要考虑汇总的聚集是否可以提供给第三方使用。您可以思考,基于某个维度的聚集是否经常用于数据分析中。如果答案是肯定的,就有必要把明细数据经过汇总沉淀到聚集表中。

汇总表规范

公共汇总表命名规范:dws_统计粒度。 举例如下:
  • dws_report(report汇总表)
  • dws_user(user汇总表)

创建汇总逻辑表

组成汇总表的统计指标有两种来源,具体如下:
  • 系统按照相同统计粒度,自动汇聚。派生指标提交后,系统会自动生成新的汇总表。派生指标组成部分,如下图所示。gagaha
  • 通过非派生指标的方式,创建汇总逻辑表,详情请参见新建汇总逻辑表

查询汇总逻辑表

逻辑表运维包括逻辑表任务逻辑表实例
  • 逻辑表任务用于从逻辑表视角切入,为您展现逻辑表内部任务关系,详情请参见逻辑表任务
  • 逻辑表实例用于查看已运行的逻辑表任务包含的节点实例及其状态,详情请参见逻辑表实例