大数据项目中的拉链表(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 新数据覆盖导入旧数据

相关推荐
慌ZHANG35 分钟前
云原生安全挑战与治理策略:从架构思维到落地实践
大数据·云原生·架构
程序员小羊!2 小时前
Hadoop HDFS 3.3.4 讲解~
大数据·hadoop·hdfs
张太行_2 小时前
人月神话:软件工程的永恒智慧
大数据·软件工程
程序员小羊!3 小时前
Hadoop MapReduce 3.3.4 讲解~
大数据·hadoop·mapreduce
Leinwin4 小时前
GitHub Spark公共预览版上线
大数据·spark·github
跨境猫小妹5 小时前
亚马逊卖家反馈机制变革:纯星级评级时代的合规挑战与运营重构
大数据·人工智能·重构·跨境电商·亚马逊
小白学大数据5 小时前
Java爬虫性能优化:多线程抓取JSP动态数据实践
java·大数据·爬虫·性能优化
诗旸的技术记录与分享6 小时前
Flink-1.19.0-核心源码详解
大数据·flink
TDengine (老段)6 小时前
TDengine 中 TDgpt 的模型评估工具
大数据·数据库·机器学习·ai·时序数据库·tdengine·涛思数据
开源智慧工坊7 小时前
6 大模块!重构物业运营方式
大数据·物联网·智慧城市