大数据项目中的拉链表(hadoop,hive)

缓慢渐变维

拉链表

拉链表,可实现数据快照,可以将历史和最新数据保存在一起

如何实现:

在原始数据增加两个新字段 起始时间(有效时间:什么时候导入的数据的时间),结束时间(默认的结束时间为9999-99-99)

处理时间是处理昨天的数据 因为是今天处理昨天的时间 有效结束时间应该是昨天

如果有效时间为9999-99-99 说明当前数据为最新数据

数据导入数据仓中拉链表的流程:

首先需要使用where 条件过滤 查询哪些是新数据

接下来需要把新数据的拉链表与之前数仓中的拉链表进行结合

1- 先进行左关联(left join)

数据有变化会显示新数据,没有则显示null 数据没有变化

操作指令: select if(表名.字段 is null,结束时间,现在时间-1) as end_time

from 旧表名 left join 新表名 ;

2- left join 进行 union 操作

union all 进行数据合并

3- insert overweight 新数据覆盖导入旧数据

相关推荐
无代码专家11 小时前
设备巡检数字化解决方案:构建高效闭环管理体系
java·大数据·人工智能
天远数科11 小时前
Node.js 原生加密指南:详解 Crypto 模块对接天远银行卡黑名单接口
大数据·api
expect7g11 小时前
Paimon Branch --- 流批一体化之二
大数据·后端·flink
天远云服11 小时前
高并发风控实践:AES 加密与银行卡风险标签清洗的 Go 语言实现
大数据·api
无级程序员11 小时前
datasophon中dolpinscheduler的自定义配置common.properties不生效问题解决
大数据
珠海西格电力11 小时前
零碳园区基础架构协同规划:能源-建筑-交通-数字系统的衔接逻辑
大数据·人工智能·智慧城市·能源
weixin_5372170612 小时前
AI 智能体如何利用文件系统进行上下文工程
大数据·人工智能
见识星球12 小时前
名企校招攻略
大数据·python
路边草随风12 小时前
starrocks compaction 进度问题定位
大数据·sql
跟着珅聪学java12 小时前
Logback日志配置教程
数据仓库·hive·hadoop