数据仓库-拉链表, 流水表, 全量表, 增量表, 切片表

数据仓库-拉链表, 流水表, 全量表, 增量表, 切片表

1 增量表
1.1 概念
在这里插入图片描述

增量表:新增数据,增量数据是上次导出之后的新数据。比如说,从24号到25号新增了那些数据,改变了哪些数据,这些都会存储在增量表的25号分区里面。

记录每次增加的量,而不是总量;
增量表,只报变化量,无变化不用报
每天一个分区
1.2 例子
在这里插入图片描述
在这里插入图片描述

注:因为数仓都是T+1的,所以7号的数据是8号加工出来的

加工逻辑:

1.根据修改时间,把修改时间等于昨天(即7号)的数据抽取到ods层wedw_ods.test_user_info_20200407中
2.找出20200406未修改的数据放入20200407分区中
和数仓表wedw_dwd.test_user_info_di 分区date_id = ‘2020-04-06’通过主键用户id进行关联,先把wedw_dwd.test_user_info_di中存在且wedw_ods.test_user_info_20200407中不存在的数据插入到wedw_dwd.test_user_info_di分区date_id=2020-04-07中
3.最后把wedw_ods.test_user_info_20200407表的所有数据插入到wedw_dwd.test_user_info_di分区date_id=2020-04-07

insert overwrite table wedw_dwd.test_user_info_di PARTITION(date_id='2020-04-07') 
select
     a.user_id
    ,a.user_name
    ,a.user_age
    ,a.user_cellphone
    ,a.create_time
    ,a.update_time
from wedw_dwd.test_user_info_di a 
left join wedw_ods.test_user_info_20200407 b
    on  b.user_id=a.user_id
where a.date_id = '2020-04-06'
    and  b.user_id is null;
 
insert into table wedw_dwd.test_user_info_di PARTITION(date_id='2020-04-07')
select 
     coalesce(user_id'-99')                                          as user_id
    ,coalesce(user_name,'-99')                                       as user_name
    ,coalesce(user_age,0)                                            as user_age
    ,coalesce(user_cellphone,'-99')                                  as user_cellphone
    ,<
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值