大数据数仓中增量数据问题讨论

目录

数据增量类型介绍

三种增量类型的具体介绍

流水新增数据

常规业务变化数据

优化的业务变化数据

总结

数仓中增量数据的方法探讨

先做个数据例子

1月份

2月份

3月份

4月份

数仓分层

生产数据同步到ODS层

1月份ODS层表

2月份ODS层表

3月份ODS层表

4月份ODS层表

ODS→STD→DWD

方案一

方案二

方案三


数据增量类型介绍

业务生产库中的数据增量情况有如下几种:

  1. 流水新增数据
    无修改删除(类似日志流水数据)
  2. 常规业务变化数据
    含增删改(类似商品库存信息)
  3. 优化的业务变化数据
    含增删改动作,以流水记账方式体现(类似商品销售退货信息)

三种增量类型的具体介绍

流水新增数据

无修改删除(类似日志流水数据)

流水新增数据,只有insert。所以历史数据是不会修改的,数据只会增加。

譬如:

1月底,统计的今年(全年)商品销售情况:

ID

商品

销量

1 上衣 100
2 裤子 100

2月底,统计的今年(全年)商品销售情况:

ID

商品

销量

1 上衣 100
2 裤子 100
3 裤子 50

2月底,统计的今年(全年)商品销售情况:

ID

商品

销量

1 上衣 100
2 裤子 100
3 裤子 50
4 裤子 30

只有新增数据,没有修改或者删除的数据。

常规业务变化数据

含增删改(类似商品库存信息),譬如:

我们拿个公司职员工资单的例子,体会下增量数据的变化。

1月公司的职员工资单如下:

唯一ID

姓名

收入

1 张三 300
2 李四 350

2月公司的职员工资单如下(insert,新聘用1名员工):

唯一ID

姓名

收入

1 张三 300
2 李四 350
3 王五 360

3月公司的职员工资单如下(update,2名员工涨薪):

唯一ID

姓名

收入

1 张三 400
2 李四 450
3 王五 360

4月公司的职员工资单如下(delete,1名员工离职):

唯一ID

姓名

收入

1 张三 400
3 王五 360

数据变化,直接在原数据上变化,只能通过捕获数据变化日志,或者通过触发器等方法感知数据变化情况。

优化的业务变化数据

含增删改动作,以流水记账方式体现,我们仍然用上面公司职员工资单的例子。

1月公司的职员工资单如下:

唯一ID

姓名

收入

动作

时间

1 张三 300 insert 1月
2 李四 350 insert 1月

2月公司的职员工资单如下(insert,新聘用1名员工):

唯一ID

姓名

收入

动作

时间

1 张三 300 insert 1月
2 李四 350 insert 1月
3 王五 360 insert 2月

3月公司的职员工资单如下(update,2名员工涨薪):

唯一ID

姓名

收入

动作

时间

1 张三 300 insert 1月
2 李四 350<
  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值