自学内容网 自学内容网

DWD三种事实表建模方法和注意事项

明细粒度事实层(DWD)通常分为三种:事务事实表、周期快照事实表和累积快照事实表。

  • 事务事实表用来描述业务过程,跟踪空间或时间上某点的度量事件,保存的是最原子的数据,也称为原子事实表。

  • 周期快照事实表以具有规律性的、可预见的时间间隔记录事实。

  • 累积快照事实表用来表述过程开始和结束之间的关键步骤事件,覆盖过程的整个生命周期,通常具有多个日期字段来记录关键时间点。当累积快照事实表随着生命周期不断变化时,记录也会随着过程的变化而被修改。

事实表设计原则

  • 事务事实表,事务事实表的设计原则是,记录单个事务或事件的相关数据。这种表通常包含与某个特定事件相关的详细数据,如一次购买的商品种类、金额、购买时间等。设计事务事实表时,需要明确事件的类型、发生时间、关联的主键等信息。

  • 周期性事实表,周期性事实表的设计原则是,将一段时间内重复发生的事件记录下来。这种表通常包含每天、每周或每月的周期性数据。设计周期性事实表时,需要明确事件的周期性类型、起始时间和结束时间,以及事件发生时的关联信息。

  • 累积快照事实表,累积器事实表的设计原则是,记录一段长时间范围内的累积度量数据。这种表通常包含某个时间点的累计值,如某个月的销售额、某个季度的客户数量等。设计累积器事实表时,需要明确累积的起始时间、结束时间,以及累积计算的规则。

三种事实表的比较

863415582e6f1fcbc7711aa70ca17829.png

通俗理解

  • 事务事实表【一般不用】

也称原子事实表,描述业务过程,跟踪控件或时间上某点的度量事件,保存的是最原子的数据。类比Binlog日志,每一次变更都记录下来,生成一行新的数据。

  • 周期快照事实表【常用】

以一个周期为时间间隔,来记录事实,一般周期可以是每天、每周、每月、每年等;

只看某个业务过程,比如订单签收,数据按订单签收时间来切分,周期可以为每天、每月等。

  • 累积快照事实表【必用】

用来描述过程开始和结束之间的关键步骤事件,覆盖过程的整个生命周期,通常具有多个日期字段来记录关键时间点;当过程随着生命周期不断变化时,记录也会随着过程的变化而被修改。

整个生命周期的多个业务过程,比如:创建订单、买家付款、卖家发货、买家收货。粒度是一个订单一行数据,创建订单时间,付款时间,发货时间,收货时间,分别作为一个字段,便于计算不同业务过程的时间间隔。

33a0464caf846188a974474eb7987461.png300万字!全网最全大数据学习面试社区等你来!

如果这个文章对你有帮助,不要忘记 「在看」 「点赞」 「收藏」 三连啊喂!

68f78da24ef02b4ece7f0cccdea8ef5a.png

e2af761892dc94cfefafa58a49845aa4.jpeg

全网首发|大数据专家级技能模型与学习指南(胜天半子篇)

互联网最坏的时代可能真的来了

我在B站读大学,大数据专业

我们在学习Flink的时候,到底在学习什么?

193篇文章暴揍Flink,这个合集你需要关注一下

Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS

Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点

我们在学习Spark的时候,到底在学习什么?

在所有Spark模块中,我愿称SparkSQL为最强!

硬刚Hive | 4万字基础调优面试小总结

数据治理方法论和实践小百科全书

标签体系下的用户画像建设小指南

4万字长文 | ClickHouse基础&实践&调优全视角解析

【面试&个人成长】社招和校招的经验之谈

大数据方向另一个十年开启 |《硬刚系列》第一版完结

我写过的关于成长/面试/职场进阶的文章

当我们在学习Hive的时候在学习什么?「硬刚Hive续集」


原文地址:https://blog.csdn.net/u013411339/article/details/144756654

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!