当前位置:   article > 正文

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)假

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/747596
推荐阅读
相关标签
  

闽ICP备14008679号