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



相关文章
|
1月前
|
SQL 存储 分布式计算
Hive数据仓库设计与优化策略:面试经验与必备知识点解析
本文深入探讨了Hive数据仓库设计原则(分区、分桶、存储格式选择)与优化策略(SQL优化、内置优化器、统计信息、配置参数调整),并分享了面试经验及常见问题,如Hive与RDBMS的区别、实际项目应用和与其他组件的集成。通过代码样例,帮助读者掌握Hive核心技术,为面试做好充分准备。
|
28天前
|
SQL 存储 JSON
Hive 解析 JSON 字符串数据的实现方式
Hive 提供 `get_json_object` 函数解析 JSON 字符串,如 `{"database":"maxwell"}`。`path` 参数使用 `$`、`.`、`[]` 和 `*` 来提取数据。示例中展示了如何解析复杂 JSON 并存储到表中。此外,Hive 3.0.0及以上版本内置 `JsonSerDe` 支持直接处理 JSON 文件,无需手动解析。创建表时指定 `JsonSerDe` 序列化器,并在 HDFS 上存放 JSON 文件,可以直接查询字段内容,方便快捷。
|
1月前
|
SQL 存储 Java
Hive 拉链表详解及实例
拉链表是一种数据仓库技术,用于处理持续增长且存在时间范围内的重复数据,以节省空间。它在Hive中通过列式存储ORC实现,适用于大规模数据场景,尤其当数据在有限时间内有多种状态变化。配置涉及事务管理和表合并选项。示例中展示了如何从原始订单表创建拉链表,通过聚合操作和动态分区减少数据冗余。增量数据可通过追加到原始表然后更新拉链表来处理。提供的Java代码用于生成模拟的订单增量数据,以演示拉链表的工作流程。
66 3
|
1月前
|
SQL HIVE
Hive全量表和增量表互相转换
Hive全量表和增量表互相转换
89 1
|
9月前
|
SQL 存储 关系型数据库
大数据Hive拉链表的设计与实现
大数据Hive拉链表的设计与实现
124 2
|
9月前
|
SQL 大数据 Java
大数据Hive URL解析函数及侧视图
大数据Hive URL解析函数及侧视图
120 0
|
10月前
|
SQL 存储 缓存
关于数据仓库的Hive的Hive架构的Driver的SQL的解析器、编译器、执行器、优化器
数据仓库是一个面向分析的数据存储系统,其中包含了大量的历史数据,可以用于数据分析和报表生成。Hive是一个开源的数据仓库系统,基于Hadoop平台,可以存储和处理大规模的数据。在Hive中,SQL语句被解析器解析成抽象语法树(AST),然后编译器将其转换成物理执行计划,包括执行器和优化器的参与。本文将介绍Hive中SQL解析器、编译器、执行器和优化器的作用和原理。
306 0
|
1月前
|
SQL 数据采集 数据挖掘
大数据行业应用之Hive数据分析航班线路相关的各项指标
大数据行业应用之Hive数据分析航班线路相关的各项指标
131 1
|
1月前
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
108 0
|
1月前
|
SQL 分布式计算 数据库
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
141 0

热门文章

最新文章

推荐镜像

更多