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

相关推荐
qq_508823403 小时前
金融量化指标--2Alpha 阿尔法
大数据·人工智能
好家伙VCC4 小时前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
2301_781668616 小时前
Elasticsearch 02
大数据·elasticsearch·搜索引擎
isfox7 小时前
Google GFS 深度解析:分布式文件系统的开山之作
大数据·hadoop
用户Taobaoapi20148 小时前
京东店铺所有商品API技术开发文档
大数据·数据挖掘·数据分析
在未来等你8 小时前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
江畔独步9 小时前
Flink TaskManager日志时间与实际时间有偏差
大数据·flink
TDengine (老段)9 小时前
TDengine 选择函数 Last() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
鼠鼠我捏,要死了捏9 小时前
Hadoop NameNode内存泄漏与GC停顿问题排查与解决方案
hadoop·问题排查·jvm优化
TDengine (老段)10 小时前
TDengine 选择函数 First 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据