oracle拉链表实现原理,数据仓库-拉链表+增量表抽取的实现

背景:

业务部门提了用户分层的需求,其中有一点,业务放需要我们数仓提供历史数据,并且业务库里的部分表还没有数据更新时间字段。所以本篇文章主要解决两个问题

1:问题一 怎么再HIVE里实现拉链表

2:问题二 怎么再没有数据更新时间字段的情况下获取增量数据(个人认为这个方式也是一种通用的方式)

一:拉链表是什么?使用场景?实现原理?

1:是什么? 拉链表是一张记录事务历史变化的表,记录一个事务从开始到当前发生的所有变化。

2:场景:我们需要获取用户的历史数据

3: 原理:所有数据=全量数据 + 变更数据

二 HVIE 实现拉链表

以下是我实现拉链表的过程,为了实验方便使用with as语句模拟了数据

-- 1:生成实验数据

with user_1 as (select -- 表1:全量数据

'zhangshan' as uid,123456 as phone, '1' as sex ,'2020-03-24' as start_time,'9999-12-30' as end_time

),

user_2 as (select -- 表2:增量数据(用户的性别出现了便跟)

'zhangshan' as uid,123456 as phone, '0' as sex

)

-- 2: 实现拉链

select *

from (--全量数据集: 修

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值