Hive 全量表、增量表、拉链表 解析

简介: Hive 全量表、增量表、拉链表 解析

1.全量表

(1)全量表,有无变化,都要报

(2)每次上报的数据都是所有的数据(变化的 + 没有变化的)

 (3)  每天抽取

第一次:

id name money time
1 a 10 2020-05-18 00:01:01
2 b 20 2020-05-18 10:00:00

第二次:

id name money time
1 a 20 2020-05-19 00:01:01
2 b 20 2020-05-18 10:00:00
3 c 10 2020-05-19 00:01:01

分别抽数两次对应全量表

id name money time dt
1 a 10 2020-05-18 00:01:01 2020-05-18
2 b 20 2020-05-18 10:00:00 2020-05-18
id name money time dt
1 a 20 2020-05-19 00:01:01 2020-05-19
2 b 20 2020-05-18 10:00:00 2020-05-19
3 c 10 2020-05-19 00:01:01 2020-05-19

2.增量表:只要更新(新增、修改)就同步

第一次:

id name money time
1 a 10 2020-05-18 00:01:01
2 b 20 2020-05-18 10:00:00

第二次:

id name money time
1 a 20 2020-05-19 00:01:01
2 b 20 2020-05-18 10:00:00
3 c 10 2020-05-19 00:01:01

对应两次抽数增量表(需要监控表的改变)

id name money time dt
1 a 10 2020-05-18 00:01:01 2020-05-18
2 b 20 2020-05-18 10:00:00 2020-05-18
id name money time dt
1 a 20 2020-05-19 00:01:01 2020-05-19
3 c 10 2020-05-19 00:01:01 2020-05-19

3.拉链表:

(1)不需要像全量表,每天抽取所有数据(节省空间)

(2)可以查看某条记录的历史状态

第一次:

id name money time
1 a 10 2020-05-18 00:01:01
2 b 20 2020-05-18 10:00:00

第二次:

id name money time
1 a 20 2020-05-19 00:01:01
2 b 20 2020-05-18 10:00:00
3 c 10 2020-05-19 00:01:01

 

对应的拉链表

id name money time t_start t_end
1 a 10 2020-05-18 00:01:01 2020-05-18 9999-12-31
2 b 20 2020-05-18 10:00:00 2020-05-18 9999-12-31 
id name money time t_start t_end
1 a 10 2020-05-18 00:01:01 2020-05-18 2020-05-18
1 a 20 2020-05-19 00:01:01 2020-05-19 9999-12-31
2 b 20 2020-05-18 10:00:00 2020-05-18 9999-12-31
3 c 10 2020-05-19 00:01:01 2020-05-19 9999-12-31



相关文章
|
SQL 存储 分布式计算
Hive数据仓库设计与优化策略:面试经验与必备知识点解析
本文深入探讨了Hive数据仓库设计原则(分区、分桶、存储格式选择)与优化策略(SQL优化、内置优化器、统计信息、配置参数调整),并分享了面试经验及常见问题,如Hive与RDBMS的区别、实际项目应用和与其他组件的集成。通过代码样例,帮助读者掌握Hive核心技术,为面试做好充分准备。
1434 0
|
SQL 缓存 关系型数据库
ClickHouse(19)ClickHouse集成Hive表引擎详细解析
Hive引擎允许对HDFS Hive表执行 `SELECT` 查询。目前它支持如下输入格式: -文本:只支持简单的标量列类型,除了 `Binary` - ORC:支持简单的标量列类型,除了`char`; 只支持 `array` 这样的复杂类型 - Parquet:支持所有简单标量列类型;只支持 `array` 这样的复杂类型
631 1
|
SQL 存储 JSON
Hive 解析 JSON 字符串数据的实现方式
Hive 提供 `get_json_object` 函数解析 JSON 字符串,如 `{"database":"maxwell"}`。`path` 参数使用 `$`、`.`、`[]` 和 `*` 来提取数据。示例中展示了如何解析复杂 JSON 并存储到表中。此外,Hive 3.0.0及以上版本内置 `JsonSerDe` 支持直接处理 JSON 文件,无需手动解析。创建表时指定 `JsonSerDe` 序列化器,并在 HDFS 上存放 JSON 文件,可以直接查询字段内容,方便快捷。
1454 3
|
SQL 存储 Java
Hive 拉链表详解及实例
拉链表是一种数据仓库技术,用于处理持续增长且存在时间范围内的重复数据,以节省空间。它在Hive中通过列式存储ORC实现,适用于大规模数据场景,尤其当数据在有限时间内有多种状态变化。配置涉及事务管理和表合并选项。示例中展示了如何从原始订单表创建拉链表,通过聚合操作和动态分区减少数据冗余。增量数据可通过追加到原始表然后更新拉链表来处理。提供的Java代码用于生成模拟的订单增量数据,以演示拉链表的工作流程。
934 3
|
SQL HIVE
Hive全量表和增量表互相转换
Hive全量表和增量表互相转换
546 1
|
SQL 大数据 Java
大数据Hive URL解析函数及侧视图
大数据Hive URL解析函数及侧视图
462 0
|
11月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1106 29
|
11月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
467 4
|
11月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

推荐镜像

更多
  • DNS