hive 中的拉链表 1
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,hive中拉链表在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。拉链表适用于以下几种情况吧数据量有点大,表中某些字段有变化,但是呢变化的频率也
千家信息网最后更新 2026年11月02日hive 中的拉链表 1
hive中拉链表
在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。
拉链表适用于以下几种情况吧
数据量有点大,表中某些字段有变化,但是呢变化的频率也不是很高,业务需求呢又需要统计这种变化状态,每天全量一份呢,有点不太现实,
不仅浪费了存储空间,有时可能业务统计也有点麻烦,这时,拉链表的作用就提现出来了,既节省空间,又满足了需求。
一般在数仓中通过增加begin_date,en_date来表示,如下例,后两列是start_date和end_date.
| 12345678910 | 1 2016-08-20 2016-08-20 创建 2016-08-20 2016-08-201 2016-08-20 2016-08-21 支付 2016-08-21 2016-08-211 2016-08-20 2016-08-22 完成 2016-08-22 9999-12-312 2016-08-20 2016-08-20 创建 2016-08-20 2016-08-202 2016-08-20 2016-08-21 完成 2016-08-21 9999-12-313 2016-08-20 2016-08-20 创建 2016-08-20 2016-08-213 2016-08-20 2016-08-22 支付 2016-08-22 9999-12-314 2016-08-21 2016-08-21 创建 2016-08-21 2016-08-214 2016-08-21 2016-08-22 支付 2016-08-22 9999-12-315 2016-08-22 2016-08-22 创建 2016-08-22 9999-12-31 |
begin_date表示该条记录的生命周期开始时间,end_date表示该条记录的生命周期结束时间;
end_date = '9999-12-31'表示该条记录目前处于有效状态;
如果查询当前所有有效的记录,则select * from order_his where dw_end_date = '9999-12-31′
如果查询2016-08-21的历史快照,则select * from order_his where begin_date <= '2016-08-21′ and end_date >= '2016-08-21'
再简单介绍一下拉链表的更新:
假设以天为维度,以每天的最后一个状态为当天的最终状态。
以一张订单表为例,如下是原始数据,每天的订单状态明细
| 12345678910 | 1 2016-08-20 2016-08-20 创建2 2016-08-20 2016-08-20 创建3 2016-08-20 2016-08-20 创建1 2016-08-20 2016-08-21 支付2 2016-08-20 2016-08-21 完成4 2016-08-21 2016-08-21 创建1 2016-08-20 2016-08-22 完成3 2016-08-20 2016-08-22 支付4 2016-08-21 2016-08-22 支付5 2016-08-22 2016-08-22 创建 |
根据拉链表我们希望得到的是
| 12345678910 | 1 2016-08-20 2016-08-20 创建 2016-08-20 2016-08-201 2016-08-20 2016-08-21 支付 2016-08-21 2016-08-211 2016-08-20 2016-08-22 完成 2016-08-22 9999-12-312 2016-08-20 2016-08-20 创建 2016-08-20 2016-08-202 2016-08-20 2016-08-21 完成 2016-08-21 9999-12-313 2016-08-20 2016-08-20 创建 2016-08-20 2016-08-213 2016-08-20 2016-08-22 支付 2016-08-22 9999-12-314 2016-08-21 2016-08-21 创建 2016-08-21 2016-08-214 2016-08-21 2016-08-22 支付 2016-08-22 9999-12-315 2016-08-22 2016-08-22 创建 2016-08-22 9999-12-31 |
可以看出 1,2,3,4每个订单的状态都有,并且也能统计到当前的有效状态。
状态
支付
拉链
有效
情况
空间
订单
变化
统计
业务
历史
周期
数据
时间
生命
需求
查询
原始
明细
作用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳市人人互联网科技有限公司
新华互联网科技学校
科技互联网产品
互联网科技金融公司
猪兼强互联网科技
嘟嘟瓜互联网科技
致骋互联网科技
互联网科技革命
唐信互联网科技
互联网科技网站
互联网科技公司招聘
互联网科技教育视频
未来五年的互联网科技
健康食品互联网创新科技园项目
互联网行业科技股
中和天地互联网科技有限公司
互联网科技融合创新
普陀区互联网教育科技管理办法
广西科技产业互联网是什么
互联网科技快速发展优美句子
华服互联网科技靠谱吗
人人互联网科技是培训
科技赋能互联网健康
互联网为啥属于高科技
哈尔滨屹滨互联网科技有限公司
浙南科技城互联网大厦招聘
郑州欣桑互联网科技有限公司
2021世界互联网领先科技成果发布
科技互联网专业工作会议发言稿
武汉亿视互联网科技有限公司