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

相关推荐
StevenLdh38 分钟前
Elasticsearch使用及常见的问题
大数据·elasticsearch·搜索引擎
TDengine (老段)43 分钟前
TDengine 语言连接器(R语言)
大数据·数据库·物联网·r语言·时序数据库·tdengine·iotdb
Lary_Rock2 小时前
ubuntu20.04 Android14编译环境配置
大数据·数据库·elasticsearch
合合技术团队4 小时前
TextIn ParseX文档解析参数使用指南(第一期)
大数据·人工智能·算法·ocr·文档解析
SelectDB4 小时前
网易游戏 x Apache Doris:湖仓一体架构演进之路
大数据·数据库·数据分析
吹35度风5 小时前
Spark-SQL核心编程(二)(三)
大数据·spark
vivo互联网技术5 小时前
Spark on K8s 在vivo大数据平台的混部实战
大数据·spark·容器化
盈达科技5 小时前
盈达科技GEO技术体系全景解密:AIM³ Pro × AICC × GEO-BENCH Pro构建认知主权堡垒
大数据·人工智能