2023.12.1 --数据仓库之 拉链表

news2025/1/17 1:21:49

目录

什么是拉链表

为什么要做拉链表?

没使用拉链表:

使用了拉链表:

题中订单拉链表的形成过程

实现语句


什么是拉链表

拉链表是缓慢渐变维的一种解决方案.

拉链表,记录每条信息的生命周期,一旦一条记录的生命周期结束,就重新开始一条新的记录,并把当前日期放入生效开始日期,如果当前信息至今都有效,就在结束日期中填入一个最大值(9999-12-31)

为什么要做拉链表?


拉链表适合于:数据会发生变化,但是大部分是不变的
比如:订单信息从未支付、已支付、未发货、已完成等状态经历了一周,大部分时间是不变化的,如果数据量有定规模,无法按照每天全量的方式保存。

没使用拉链表:

从上图可以看到,如果按照上面那个表的记录方法,因为订单未发货的状态从1月持续到了12月,假如一直都是全量同步的方式,那么未发货这条信息,我们将需要用350多行来记录维护他,但对客户来说,或者维护人员来说,我们关心的是订单状态转换的那一刻,在这期间的信息并不重要,所以这种记录方法这会导致冗余过多

使用了拉链表:

从上图的下面那张图可以看到,原本我们需要用350多行来维护未发货这条状态的信息,使用了拉链表后,我们只需要一行,即可涵盖了1月3日到12月11日这300多天的状态.

题中订单拉链表的形成过程

 制作拉链表,简单来说就是在表原本的字段上,再加上两列字段,一个是开始时间,一个是结束时间

然后每天找出新增和变化的订单导入到拉链表中,通过合并初始的表和新增变化的表,就能得到对应的拉链表

实现语句

1.从ods层得到每天更新或者新增的数据表

2.原始拉链表 left join 增量表,如果增量表关联id为null或者原始拉链表end_time不是9999-12-31(9999说明这是最新的状态) ,保留原有数据,否则修改拉链表的end_time为增量表中的start_time 减去 1

3.拿着left join 修改后的拉链数据,直接union all 增量数据集

4.把最新拉链数据保存到临时表中 

5.insert overwrite 把数据插入到原始拉链表中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1293987.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

snapde批量手机号码归属地查询

一、引言 手机号码归属地如何查询?在网上一个一个去查询吗?有没有什么软件能够对几万、几十万、上百万的手机号码批量查询出来归属地呢?答案是有,snapde软件能够用一条公式完成表格内所有手机归属地的查询。 二、操作方法 1、打…

Hackademic.RTB1

信息收集 判断存活主机 nmap -sT --min-rate 10000 192.168.182.0/24Nmap scan report for 192.168.182.135 Host is up (0.030s latency). Not shown: 992 filtered tcp ports (no-response), 6 filtered tcp ports (host-unreach) PORT STATE SERVICE 22/tcp closed ssh …

IPTABLES(一)

文章目录 1. iptables基本介绍1.1 什么是防火墙1.2 防火墙种类1.3 iptables介绍1.4 包过滤防火墙1.5 包过滤防火墙如何实现 2. iptables链的概念2.1 什么是链2.2 iptables有哪些链 3. iptables表的概念3.1 什么是表3.2 表的功能3.3 表与链的关系 4. iptables规则管理4.1 什么是…

Spring MVC详解、静态资源访问、拦截器

1. Spring MVC概述 1.1 Spring MVC是什么 SpringMVC是Spring的一个模块,是一个基于MVC设计模式的web框架。 1.2 Spring MVC执行流程。 1.3 组件分析 前端控制器(默认配置)Dispatcher Servlet 作用:只负责分发请求。可以很好的对…

HL7/FHIR 是什么

如果你对上面 2 个单词不熟悉的话,那就需要先脑补下了。 HL7 HL7 可以认为是一个标准化的组织,这个组织主要对标准进行控制。 如果你希望在医疗系统中对数据进行交换,通常 HL7 现在就是事实上的标准了。 FHIR FHIR – Fast Health Inter…

urllib 异常、cookie、handler及代理(四)

目录 一、urllib异常 二、urllib cookie登录 三、urllib handler 处理器的基本使用 四、urllib 代理和代理池 参考 一、urllib异常 URLError/HTTPError 简介: 1.HTTPError类是URLError类的子类 2.导入的包urllib.error.HTTPError urllib.error.URLError 3.h…

JavaScript单页面路由详解:打造现代化、高性能的Web应用

​🌈个人主页:前端青山 🔥系列专栏:JavaScript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-spa单页面路由 目录 # 基于SPA的单页面路由 关于单页应用 单页应用的…

编程实战:自己编写HTTP服务器(系列2:请求)

系列入口:编程实战:自己编写HTTP服务器(系列1:概述和应答)-CSDN博客 本文介绍如何处理请求。 目录 一、概述 二、成员变量 三、接收并分解请求 四、完整代码 五、HTTP处理框架 一、概述 请求和应答结构其实差不多…

Axure原型图表组件库,数据可视化元件(Axure9大屏组件)

针对Axure制作的大屏图表元件库,帮助产品经理更高效地制作高保真图表原型,是产品经理必备元件工具。现分享完整的组件库,大家一起学习。 本组件库的图表模块,已包含所有常用的图表,以下为部分组件截图示意。文末可下载…

Axure原型组件库,数据可视化动态元件库(超详细Axure9可视化素材)

专门针对Axure制作的动态图表元件库,帮助产品经理更高效地制作高保真图表原型,是产品经理必备元件工具。现分享完整 Axure 9 的组件库,大家一起学习。(如需 Axure 8组件请详见文末) 每一个动态组件在原型文件中都配有…

NLP自然语言处理学习笔记

参考:NLP(自然语言处理)介绍 - 知乎 (zhihu.com) 一、NLP是什么 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自…

小航助学2023年6月GESP_Scratch二级真题(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号 单选题3.00分 删除编辑附件图文 答案:D 第1题高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。 A、编辑B、…

Liunx系统使用超详细(四)~文件/文本相关命令2

承接文章Liunx系统使用超详细(四)~文件/文本相关命令1http://t.csdnimg.cn/f7G6S 目录 一、awk命令(三剑客之一) 1.1工作原理 1.2工作流程 1.3语法格式 1.3.1格式注释: 1.3.2模式(pattern)的类型: 1.3.3动作(ac…

Java期末复习题之继承

点击返回标题->23年Java期末复习-CSDN博客 第1题. 设计一个学生类Student,其数据成员有name(姓名)、age(年龄)和degree(学位)。由Student类派生出本科生类Undergraduate和研究生类Graduate,本科生类Undergraduate增加成员specialty(专业),…

vue-tree-color 组件实现组织架构图遇到的坑和解决方案以及实现

**1、前期工作可以先看看大佬的文章 **https://blog.csdn.net/Try_your_best_l/article/details/120173192?spm1001.2101.3001.6650.5&utm_mediumdistribute.pc_relevant.none-task-blog-2defaultCTRLISTRate-5-120173192-blog-128109597.235%5Ev38%5Epc_relevant_default…

案例精选|聚铭网络助力莱阳市人民医院打造合规性网络安全保障体系

莱阳市人民医院是一所集医疗、教学、科研、急救、康复、医养结合于一体的大型二级甲等综合性公立医院,占地总面积约3万平方米,建筑面积约7万平方米,设置科室48个,开放床位500张。医院先后获得山东省首批医养结合典型、山东省卒中防…

案例060:基于微信小程序考试系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

学习设计模式的一个好网址

常用设计模式有哪些? (refactoringguru.cn)https://refactoringguru.cn/design-patterns

【Proteus仿真】【STM32单片机】蓝牙遥控小车

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使LCD1602液晶,L298电机,直流电机,HC05/06蓝牙模块等。 主要功能: 系统运行后,LCD1602显…

Matlab 点云对称性检测

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 这是一个很有趣的功能,它的思路其实与ICP算法的思路有些相似: 首先,它会初始化两个旋转角度,即绕x轴旋转与绕y轴旋转,初始的过程是将点对称(镜像)过去,计算与匹配点之间的距离误差,误差最小者为最优初始值…