DWS层销售主题宽表实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DWS层销售主题宽表实现相关的知识,希望对你有一定的参考价值。
参考技术A 面向主题,进行主题需求分析,轻度汇总,细粒度汇总注意 当用preosto查询 插入到表数据的时候 hive当中是没有的
这是因为这两个引擎的问题,hive底层是分区的 presto 插入之后 hive解析不了 但是的确在hdfs上存储着
相当于你跳出了hive 这一层 以后只能用presto来分析
在业务当中 需求分析是十分重要的 ,遇到指标比较模糊的一定要沟通
主题需求: 根据主题进行需求分析 得出指标和维度
注意优雅起名字
进行字段抽取 :presto 把查询语句插入到 主题销售宽表当中 形成一个tmp 临时子表
可以在这里使用rn结合业务指定自己的去重标准
根据主题给的维度
提示:可以根据待插入的目标表yp_dws.dws_sale_daycount的字段顺序,把结果返回。
--指标计算 注意每个指标都对应着8个分组维度的计算
剩下的 指标 按个实现
数据仓库各层到底在做什么?(ODS,DWD,DWM,DWS,ADS)
文章目录
源数据层(ODS)
此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。
(不需要修改的数据)
数据仓库层(DW)
DW 层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。
DWD明细层
存储明细数据,此数据是最细粒度的事实数据。该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联。我们在做这一步时可以先确定我们的业务主题,根据主题搭建这一层的表。
DWM 中间层
存储中间数据,为数据统计需要创建的中间表数据,此数据一般是对多个维度的聚合数据,此层数据通常来源于DWD层的数据。
DWS 业务层
存储宽表数据,此层数据是针对某个业务领域的聚合数据,应用层的数据通常来源与此层,为什么叫宽表,主要是为了应用层的需要在这一层将业务相关的所有数据统一汇集起来进行存储,方便业务层获取。此层数据通常来源与DWD和DWM层的数据。
在实际计算中,如果直接从DWD或者ODS计算出宽表的统计指标,会存在计算量太大并且维度太少的问题,因此一般的做法是,在DWM层先计算出多个小的中间表,然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定,也可以去掉DWM这一层,只留DWS层,将所有的数据在放在DWS亦可。
数据应用层(ADS或DA或APP)
前端应用直接读取的数据源;根据报表、专题分析的需求而计算生成的数据。
维表层(DIM)
维表层,维表层主要包含两部分数据:
- 高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。
- 低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。
以上是关于DWS层销售主题宽表实现的主要内容,如果未能解决你的问题,请参考以下文章