数据仓库企业最佳实践系列之拉链表

数据仓库企业最佳实践系列之拉链表目录 一 拉链表介绍二 拉链表使用场景三 真实企业案例 社招案例 四 相关面试题一 拉链表介绍拉链表是针对数据仓库设计中表存储数据的方式而定义的 顾名思义 所谓拉链 就是记录历史 记录一个事物从开始 一直到当前状态的所有变化的信息

大家好,欢迎来到IT知识分享网。

数据仓库企业最佳实践系列之拉链表

目录:

一、拉链表介绍

二、拉链表使用场景

三、真实企业案例(社招案例)

四、相关面试题

一、拉链表介绍

拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。

二、拉链表使用场景

我们在设计模型的时候会遇到一些情况:

1. 表中的部分字段会被更新,如企微添加好友,归因渠道。

2. 需要查看某一个时间点或者时间段的历史快照信息,例如:查看某一个用户在2022年的求职状态。

3. 表中的记录变化的比例和频率不是很大比如,总共有5亿的用户,每天新增和发生变化的有100w左右,变化的比例占到很小。

三、实现过程(社招案例)

企业简历特权使用记录,修改成拉链表,记录历史更新状态

说明:data_dt 为分区时间,pre1day为 data_dt-1,ods为全量表

需要一张临时表,用于存放中间过程

建表:

数据仓库企业最佳实践系列之拉链表

准备数据:

数据仓库企业最佳实践系列之拉链表

将数据插入:ods_test_test_business_da 的2022-10-22的分区中,按着拉链表的流程最后可以得到dwd_test_business_da 表2022-10-22的最原始的数据,record_start_date为create_date,record_end_date 为3000-12-31

数据仓库企业最佳实践系列之拉链表数据仓库企业最佳实践系列之拉链表

插入 ods_test_test_business_da 分区为2022-10-23

数据仓库企业最佳实践系列之拉链表

1、新增直接取过来,未结束日期为3000-12-31

数据仓库企业最佳实践系列之拉链表

结果:

数据仓库企业最佳实践系列之拉链表

2. 更新则保留前一日数据,并将记录结束日期记成更新日期,新记录的开始日期为更新日期

数据仓库企业最佳实践系列之拉链表数据仓库企业最佳实践系列之拉链表数据仓库企业最佳实践系列之拉链表

3. 不变的记录,取昨日数据

数据仓库企业最佳实践系列之拉链表数据仓库企业最佳实践系列之拉链表

4. 删除的数据则保留前一日数据,并将记录结束日期记成更新日期

数据仓库企业最佳实践系列之拉链表

5. 拉链结束的数据直接拿过来

数据仓库企业最佳实践系列之拉链表

6. 得到最后的拉链表

数据仓库企业最佳实践系列之拉链表数据仓库企业最佳实践系列之拉链表

四、相关面试题

什么是拉链表,怎样设计一张拉链表?

首先要说明拉链表是什么,什么业务场景下会使用,然后结合自己的业务细说,并解决了什么问题。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/185761.html

(0)
上一篇 2025-08-12 07:20
下一篇 2025-08-12 07:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信