当前位置: 首页 > news >正文

hive拉链表详解

1、背景描述

        在数据仓库中,维度表中的数据会随着时间发生变化。当我们把维度表数据同步到数仓以后,对于后续更新数据,如果直接覆盖原有数据,则历史数据丢失导致不能获取历史某个时间节点的数据指标;如果分区全量冗余存储,又会造成资源浪费;如果增量分区冗余存储,又不便于使用,对于数据分析以及业务复盘决策存在重大影响。

2、拉链表定义

        拉链表(Slowly Changing Dimension, SCD Type 2)是一种用于管理和存储数据仓库中历史数据变化的方法。在数据仓库设计中,数据可能会随时间变化,而我们需要保留这些变化的历史记录,以便能够追溯到任意时刻的数据状态。拉链表通过在数据表中添加时间戳或有效期列来实现这一目的。

3、拉链表设计形式

  1. 基于原始表结构,新增起始时间列、结束时间列、是否当前有效记录列,创建出拉链维度表;
  2. 原始数据表初次同步数据采用全量同步形式,起始时间列为原始表的创建时间或者修改时间,结束时间列为9999-12-31,是否当前有效记录为1(1代表是,0代表否);
  3. 后续采用增量同步形式,如果数据发生变更,则对拉链表的对应原始记录进行处理,处理措施是修改结束时间为新记录的更新时间,是否当前有效记录为0;并将新的变更数据追加到拉链表中,追加记录的原始字段设置为数据更新时间,结束时间列为9999-12-31,是否当前有效记录为1;       

4、拉链表实操案例

1)假

相关文章:

  • 制作WIFI二维码,实现一键扫描连接WIFI
  • 【无线传感网】LEACH路由算法
  • 动态 SQL
  • qt登录和闹钟实现
  • 修改SpringBoot项目配置文件
  • Python爬虫框架:Scrapy、EasySpider与FEAPDER的比较与实践
  • Vue70-路由的几个注意点
  • 计算机网络 MAC地址表管理
  • Zookeeper基础教程
  • 千年古城的味蕾传奇-平凉锅盔
  • HAL库开发--串口
  • windows安装spark
  • 浏览器支持http-flv协议
  • 网络虚拟化考题
  • 番外篇 | YOLOv8算法解析和实战应用:车辆检测 + 车辆追踪 + 行驶速度计算
  • Redis高并发高可用
  • 山东济南比较出名的起名大师的老师,中国最厉害的改名大师颜廷利:短命的小草,年年自损;长寿的大树,万古长青。。。(升命学说)
  • 华为Atlas NPU ffmpeg 编译安装
  • vue 登录
  • Python初体验
  • 古埃及展进入百天倒计时,闭幕前168小时不闭馆
  • “20后”比“60后”更容易遭遇极端气候事件
  • 公积金利率降至历史低位,百万房贷30年省5万
  • 吴清:加强监管的同时传递监管温度,尽力帮助受影响企业应对美加征关税的冲击
  • 央行宣布优化两项支持资本市场的货币政策工具
  • 世界银行最新营商环境体检单:59个测评点,上海22项达全球最优水平