【大数据hive】hive 拉链表设计与实现

目录

一、前言

二、拉链表业务背景

2.1 数据同步引发的问题

2.1.1 解决方案1

2.1.2 解决方案2

2.1.3 解决方案3

三、拉链表设计与原理

3.1 功能与应用场景

3.2 实现步骤

3.2.1 Step1

3.2.2  Step2

3.2.3 Step3

3.3 操作演示

3.3.1 创建一张表并加载数据

3.3.2 模拟增量数据变化

3.3.3 合并数据


一、前言

做过电商开发的同学对订单的业务应该不陌生,比如对一条订单数据来说,通常会有一个类似于status的字段来标识这个订单的完整的生命周期,从存储的数据来看,一张表只需要存储这一条数据即可。

但是对于数据分析来看,为了跟踪这个订单的全生命周期的完整过程来说,这并不是一个很好的设计,假如说订单到已支付但未发货,而且在未发货这一步停留的时间很长,对于大数据分析场景来说,这就是一个重要的分析场景,但对于mysql存储的订单表来说,这就有些冗余了。这也就是说,mysql在设计表的时候,是会充分考虑冗余数据量带来的性能问题。

二、拉链表业务背景

我们知道,Hive在实际工作中主要用于构建离线数据仓库,定期的从各种数据源中同步采集数据到Hive中,经过分层转换提供数据给上层其他应用使用。

例如:有一个定时任务每天从MySQL中同步最新的订单信息、用户信息、店铺信息等到数据仓库中,从而进行订单分析、用户分析等。

如下图所示,为一个数仓简单的业务流程图;

  • 68
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 93
    评论
评论 93
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆风飞翔的小叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值