dws公共汇总粒度事实层设计
目录
- 1-dws公共汇总粒度事实层介绍
- 2-dws事实层设计原则
- 3-dws事实表设计规范
- 4-dws建表示例
1-dws公共汇总粒度事实层介绍
公共汇总粒度事实层DWS(Data Warehouse Summary)以分析的主题对象作为建模驱动,基于上层的应用和产品的指标需求构建公共粒度的汇总指标事实表。公共汇总层的一个表通常会对应一个派生指标。
2-dws事实层设计原则
聚集是指针对原始明细粒度的数据进行汇总。DWS公共汇总层是面向分析对象的主题聚集建模。在本教程中,最终的分析目标为:最近一天某个类目(例如:厨具)商品在各省的销售总额、该类目Top10销售额商品名称、各省用户购买力分布。因此,我们可以以最终交易成功的商品、类目、买家等角度对最近一天的数据进行汇总。数据聚集的注意事项如下:
- 聚集是不跨越事实的。聚集是针对原始星形模型进行的汇总。为获取和查询与原始模型一致的结果,聚集的维度和度量必须与原始模型保持一致,因此聚集是不跨越事实的。
- 聚集会带来查询性能的提升,但聚集也会增加ETL维护的难度。当子类目对应的一级类目发生变更时,先前存在的、已经被汇总到聚集表中的数据需要被重新调整。
此外,进行DWS层设计时还需遵循以下原则:
- 数据公用性:需考虑汇总的聚集是否可以提供给第三方使用。您可以思考,基于某个维度的聚集是否经常用于数据分析中。如果答案是肯定的,就有必要把明细数据经过汇总沉淀到聚集表中。
- 不跨数据域:数据域是在较高层次上对数据进行分类聚集的抽象。数据域通常以业务过程进行分类,如交易统一划到交易域下, 商品的新增、修改放到商品域下。
- 区分统计周期:在表的命名上要能说明数据的统计周期,如_1d 表示最近1天, td 表示截至当天,nd 表示最近N天。
3-dws事实表设计规范
公共汇总事实表命名规范:
dws_{业务板块缩写/pub}{数据域缩写}{数据粒度缩写}[{自定义表命名标签缩写}]{统计时间周期范围缩写}。
- 关于统计实际周期范围缩写,缺省情况下,离线计算应该包括最近一天(_1d),最近N天(_nd)和历史截至当天(_td)三个表。如果出现_nd的表字段过多需要拆分时,只允许以一个统计周期单元作为原子拆分。即一个统计周期拆分一个表,例如最近7天(_1w)拆分一个表。不允许拆分出来的一个表存储多个统计周期。
- 对于小时表[无论是天刷新还是小时刷新],都用_hh来表示。
- 对于分钟表[无论是天刷新还是小时刷新],都用_mm来表示。
举例如下:
- dws_asale_trd_byr_subpay_1d (A电商公司买家粒度交易分阶段付款一日汇总事实表)
- dws_asale_trd_byr_subpay_td(A电商公司买家粒度分阶段付款截至当日汇总表)
- dws_asale_trd_byr_cod_nd(A电商公司买家粒度货到付款交易汇总事实表)
- dws_asale_itm_slr_td(A电商公司卖家粒度商品截至当日存量汇总表)
- dws_asale_itm_slr_hh(A电商公司卖家粒度商品小时汇总表)—维度为小时
- dws_asale_itm_slr_mm(A电商公司卖家粒度商品分钟汇总表)—维度为分钟
4-dws建表示例
CREATE TABLE IF NOT EXISTS dws_asale_trd_byr_ord_1d
(buyer_id BIGINT COMMENT '买家id',buyer_nick STRING COMMENT '买家昵称',mord_prov STRING COMMENT '收货人省份',cate_id BIGINT COMMENT '商品类目id',cate_name STRING COMMENT '商品类目名称',confirm_paid_amt_sum_1d DOUBLE COMMENT '最近一天订单已经确认收货的金额总和'
)
COMMENT '买家粒度所有交易最近一天汇总事实表'
PARTITIONED BY (ds STRING COMMENT '分区字段YYYYMMDD')
LIFECYCLE 36000;CREATE TABLE IF NOT EXISTS dws_asale_trd_itm_ord_1d
(item_id BIGINT COMMENT '商品ID',item_title STRING COMMENT '商品名称',cate_id BIGINT COMMENT '商品类目id',cate_name STRING COMMENT '商品类目名称',mord_prov STRING COMMENT '收货人省份',confirm_paid_amt_sum_1d DOUBLE COMMENT '最近一天订单已经确认收货的金额总和'
)
COMMENT '商品粒度交易最近一天汇总事实表'
PARTITIONED BY (ds STRING COMMENT '分区字段YYYYMMDD')
LIFECYCLE 36000;
dws公共汇总粒度事实层设计相关推荐
- dwd明细粒度事实层设计
目录 1-数仓dwd事实层介绍 2-数仓dwd层事实表设计原则 3-数仓dwd层事实表设计规范 4-建表示例 1-数仓dwd事实层介绍 明细粒度事实层以业务过程驱动建模,基于每个具体的业务过程特点,构 ...
- 【离线数仓-9-数据仓库开发DWS层设计要点-1d/nd/td表设计】
离线数仓-9-数据仓库开发DWS层设计要点-1d/nd/td表设计 离线数仓-9-数据仓库开发DWS层设计要点-1d/nd/td表设计 一.DWS层设计要点 二.DWS层设计分析 - 1d/nd 1. ...
- 大数据中台架构以及建设全流程二(Daas层设计)
目录 背景 面临问题 解决方案 数仓架构演进 离线数仓架构 案例 Lambda数仓架构 案例 问题点 Kappa数仓架构 架构选型 数 ...
- 数据仓库设计与开发-1-分层设计
分层设计 为什么要分层 如何分层 理论 技术实践 举个例子 如何更优雅一些 问答 总结 其他参考 ODS层的数据需要做数据清洗吗 一种通用的数据仓库分层方法 转载 https://www.cnblog ...
- 大数据之路—— 事实表设计
十一.数据模型篇-- 事实表设计 11.1 事实表基础 11.1.1 事实表特性 11.1.2 事实表设计原则 11.1.3 事实的设计准则 11.1.4 事实表设计方法 11.2 事务事实表 11. ...
- 维度建模的事实表设计
事实表基础 事实表特性 事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和与业务过程有关的度量. 事实表中一条记录所表达的业务细节 ...
- 数据仓库维度建模——事实表设计
一. 事实表相关概念 1. 粒度 1.1 什么是粒度 事实表中一条记录说表达的业务细节程度被称为粒度. 1.2 两种常用表现形式 (1)使用维度属性组合来表示的细节程度. (2)表示的具体的业务含义. ...
- 大数据之路读书笔记-11事实表设计
大数据之路读书笔记-11事实表设计 文章目录 大数据之路读书笔记-11事实表设计 11.1 事实表基础 11.1.1 事实表特性 11.1.2 事实表设计原则 11.1.3 事实表设计方法 11.2 ...
- OneData方法论-事实表设计
事实表设计 事实表特性 事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计. 事实表中一条记录所表达的业务细节程度被称为粒度,粒度可以通过两种方式来表达:一种是维度属性组合所表示的细节程度,一 ...
最新文章
- ip and port check 正则
- 开通域名绑定DDNS
- Java堆内存是线程共享的!面试官:你确定吗?
- [保护模式]段间跳转和跨段跳转
- java txt 写入_JAVA 写入TXT文件
- linux中权限的名词解释,Linux的基本权限和特殊权限
- 软件开发 thoughtworks 技术面_【软件开发】10月29日比赛详细预告
- Linux iperf 网络传输性能测试工具
- OpenCV初探 —— VS2019配置环境
- 全库检索包含某个值的表名和所在的列.
- 操作系统编写之引导扇区 1
- 目前流行的源程序版本管理软件和项目管理的软件优缺点
- 非平稳序列的确定性分析
- referenced libraries
- 机器学习(十一):新闻摘要提取小案例
- P1551 亲戚 (并查集)
- 不要让毒鸡汤毁了你,35岁没有那么可怕,保持专注更重要
- 北大数学天才出家12年后还俗引热议,当年放弃MIT全奖,如今主动降薪1万
- Unity3D中Rigidbody.velocity和Addforce的区别
- 2020年9月大学英语六级作文
热门文章
- 特斯拉、华为们要用软件重新定义汽车?
- 视觉惯性单目SLAM (二) 算法基础知识
- Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon‘
- SpringBoot 项目实战 ~ 9.数据缓存
- Debian内核防毒AntiVir安装
- python条件语句多条件_Python简介,第3章-条件语句
- 十二个“一”的文艺创作拓展:关于星座
- vue3 预览docx文件
- PLASTIGAUGE塑料间隙规的正确使用步骤你知道多少?
- UbuntuKylin引领我们走上开放创新之路