CN111078709A - 一种基于数仓工具hive的非更新方式的增量拉链实现方法 - Google Patents
一种基于数仓工具hive的非更新方式的增量拉链实现方法 Download PDFInfo
- Publication number
- CN111078709A CN111078709A CN201911385067.0A CN201911385067A CN111078709A CN 111078709 A CN111078709 A CN 111078709A CN 201911385067 A CN201911385067 A CN 201911385067A CN 111078709 A CN111078709 A CN 111078709A
- Authority
- CN
- China
- Prior art keywords
- data
- zipper
- incremental
- hive
- increment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000005192 partition Methods 0.000 claims abstract description 17
- 238000001914 filtration Methods 0.000 claims abstract description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于计算机领域技术领域,尤其为一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,包括数仓工具HIVE,所述数仓工具HIVE包括拉链表和增量表,所述拉链表和增量表设置有若干个分区表,所述分区表内建立具有不同属性的分区;所述非更新方式的增量拉链实现方法,包括以下步骤:步骤一:获取当前的拉链表数据T0;本发明,通过设置获取当前的拉链表数据T0,并解析出时点T时的增量数据;过滤拉链表中增量时点之后的数据,并关联增量数据,获取历史数据的实效时点针等方法能够结合大数据HIVE工具特性,在不更新数据的情况下实现增量拉链算法,并能够支持大数据仓库HIVE工具,最大程度的降低存储容量。
Description
技术领域
本发明属于计算机领域技术领域,具体涉及一种基于数仓工具HIVE的非更新方式的增量拉链实现方法。
背景技术
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,可以将SQL语句转换为编程模型MapReduce、开源计算框架Tez或者计算引擎Spark任务进行运行,Hive提供了一系列的工具,对数据执行ETL(Extract-Transform-Load,抽取-转换-加载)操作,对存储在Hadoop中的大规模数据进行存储、查询和分析,大数据Hadoop数仓工具HIVE:基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制,拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录,通过拉链表可以很方便的还原出拉链时点的数据记录,增量表表示当前新增的数据。
常规的拉链算法都需要经过:拉链表删除同时间点数据;获取新增数据与拉链表数据对比;更新拉链表中数据失效日期;新增数据插入拉链表,所以拉链算法需要做数据删除和数据更新,常用的HIVE存储方式和操作不支持数据更新,无法实现现有拉链算法。
发明内容
为解决上述背景技术中提出的问题。本发明提供了一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,具有实现拉链算法、最大程度的降低存储容量等特点。
为实现上述目的,本发明提供如下技术方案:一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,包括数仓工具HIVE,所述数仓工具HIVE包括拉链表和增量表,所述拉链表和增量表设置有若干个分区表,所述分区表内建立具有不同属性的分区;所述非更新方式的增量拉链实现方法,包括以下步骤:
步骤一:获取当前的拉链表数据T0,并解析出时点T时的增量数据;
步骤二:过滤拉链表中增量时点之后的数据,并关联增量数据,获取历史数据的实效时点;
步骤三:然后生成新表T1;
步骤四:解析出增量数据T1,将其插入到拉链表T1中;
步骤五:删除旧表T0,重命名新表T1->T0。
优选的,所述获取拉链表数据T0步骤之前,在解析出时点T时的增量数据时,包括:获取增量数据,并将所述增量数据进行去重处理;将去重后的增量数据制成时点T时的增量表。
优选的,所述生成新表T1时,在插入增量数据T1之前,包括:获取增量数据,判断增量数据是否存在重复,若存在重复数据,则只保留一组重复的数据。
优选的,所述拉链表和增量表内确定未建立分区表时,所述方法还包括:基于设定的更新周期,将所有所述拉链表和增量表的分区信息更新至分布式缓存。
优选的,所述数仓工具HIVE包括处理器和存储器,所述处理器用于执行存储器中存储的拉链表数据和增量表数据,以实现非更新方式增量拉链的方法的步骤。
优选的,所述存储器能够存储一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行。
与现有技术相比,本发明的有益效果是:
本发明,通过设置获取当前的拉链表数据T0,并解析出时点T时的增量数据;过滤拉链表中增量时点之后的数据,并关联增量数据,获取历史数据的实效时点针等方法能够结合大数据HIVE工具特性,在不更新数据的情况下实现增量拉链算法,并能够支持大数据仓库HIVE工具,最大程度的降低存储容量。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明的流程示意图;
图2为本发明中的流程示例示意图;
图3为本发明中计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
请参阅图1-3,本发明提供以下技术方案:一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,包括数仓工具HIVE,所述数仓工具HIVE包括拉链表和增量表,所述拉链表和增量表设置有若干个分区表,所述分区表内建立具有不同属性的分区;所述非更新方式的增量拉链实现方法,包括以下步骤:
步骤一:获取当前的拉链表数据T0,并解析出时点T时的增量数据;
步骤二:过滤拉链表中增量时点之后的数据,并关联增量数据,获取历史数据的实效时点;
步骤三:然后生成新表T1;
步骤四:解析出增量数据T1,将其插入到拉链表T1中;
步骤五:删除旧表T0,重命名新表T1->T0,通过获取当前的拉链表数据T0,并解析出时点T时的增量数据;过滤拉链表中增量时点之后的数据,并关联增量数据,获取历史数据的实效时点针等方法能够结合大数据HIVE工具特性,在不更新数据的情况下实现增量拉链算法,并能够支持大数据仓库HIVE工具,最大程度的降低存储容量。
具体的,所述获取拉链表数据T0步骤之前,在解析出时点T时的增量数据时,包括:获取增量数据,并将所述增量数据进行去重处理;将去重后的增量数据制成时点T时的增量表。
具体的,所述生成新表T1时,在插入增量数据T1之前,包括:获取增量数据,判断增量数据是否存在重复,若存在重复数据,则只保留一组重复的数据。
具体的,所述拉链表和增量表内确定未建立分区表时,所述方法还包括:基于设定的更新周期,将所有所述拉链表和增量表的分区信息更新至分布式缓存。
具体的,所述数仓工具HIVE包括处理器和存储器,所述处理器用于执行存储器中存储的拉链表数据和增量表数据,以实现非更新方式增量拉链的方法的步骤。
具体的,所述存储器能够存储一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行。
本发明的工作原理及使用流程:本发明使用时,获取当前的拉链表数据T0,并解析出时点T时的增量数据,过滤拉链表中增量时点数据,同时关联增量数据,获取历史数据的失效时点,例如:拉链表中最新数据时间点是20191125,而增量数据时间点为20191123,则过滤时点>=20191123的数据;并获取历史数据失效时间点,然后生成新表T1,并解析出增量数据T1,将其插入到拉链表T1中,删除旧表T0,重命名新表T1->T0,结合大数据HIVE工具特性,在不更新数据的情况下实现增量拉链算法。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,包括数仓工具HIVE,其特征在于:所述数仓工具HIVE包括拉链表和增量表,所述拉链表和增量表设置有若干个分区表,所述分区表内建立具有不同属性的分区;所述非更新方式的增量拉链实现方法,包括以下步骤:
步骤一:获取当前的拉链表数据T0,并解析出时点T时的增量数据;
步骤二:过滤拉链表中增量时点之后的数据,并关联增量数据,获取历史数据的实效时点;
步骤三:然后生成新表T1;
步骤四:解析出增量数据T1,将其插入到拉链表T1中;
步骤五:删除旧表T0,重命名新表T1->T0。
2.根据权利要求1所述的一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,其特征在于:所述获取拉链表数据T0步骤之前,在解析出时点T时的增量数据时,包括:获取增量数据,并将所述增量数据进行去重处理;将去重后的增量数据制成时点T时的增量表。
3.根据权利要求1所述的一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,其特征在于:所述生成新表T1时,在插入增量数据T1之前,包括:获取增量数据,判断增量数据是否存在重复,若存在重复数据,则只保留一组重复的数据。
4.根据权利要求1所述的一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,其特征在于:所述拉链表和增量表内确定未建立分区表时,所述方法还包括:基于设定的更新周期,将所有所述拉链表和增量表的分区信息更新至分布式缓存。
5.根据权利要求1所述的一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,其特征在于:所述数仓工具HIVE包括处理器和存储器,所述处理器用于执行存储器中存储的拉链表数据和增量表数据,以实现非更新方式增量拉链的方法的步骤。
6.根据权利要求1所述的一种基于数仓工具HIVE的非更新方式的增量拉链实现方法,其特征在于:所述存储器能够存储一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911385067.0A CN111078709A (zh) | 2019-12-28 | 2019-12-28 | 一种基于数仓工具hive的非更新方式的增量拉链实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911385067.0A CN111078709A (zh) | 2019-12-28 | 2019-12-28 | 一种基于数仓工具hive的非更新方式的增量拉链实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111078709A true CN111078709A (zh) | 2020-04-28 |
Family
ID=70319065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911385067.0A Pending CN111078709A (zh) | 2019-12-28 | 2019-12-28 | 一种基于数仓工具hive的非更新方式的增量拉链实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078709A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800073A (zh) * | 2021-01-27 | 2021-05-14 | 浪潮云信息技术股份公司 | 一种基于NiFi更新Delta Lake的方法 |
CN113641742A (zh) * | 2021-08-05 | 2021-11-12 | 广东电网有限责任公司 | 一种数据抽取方法、装置、设备和存储介质 |
CN114020534A (zh) * | 2021-11-05 | 2022-02-08 | 中远海运科技股份有限公司 | 一种航运数据快照生成方法 |
CN116719971A (zh) * | 2023-05-08 | 2023-09-08 | 中银金融科技有限公司 | 拉链表数据加载方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678392A (zh) * | 2012-09-20 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 一种数据增量合并的方法及其装置 |
CN105095484A (zh) * | 2015-08-17 | 2015-11-25 | 北京京东世纪贸易有限公司 | 一种数据拉链方法 |
CN107526733A (zh) * | 2016-06-20 | 2017-12-29 | 咪咕互动娱乐有限公司 | 一种拉链表数据存储方法和装置 |
CN109299093A (zh) * | 2018-09-17 | 2019-02-01 | 平安科技(深圳)有限公司 | Hive数据库中拉链表的更新方法、装置和计算机设备 |
CN110096509A (zh) * | 2019-05-16 | 2019-08-06 | 普元信息技术股份有限公司 | 大数据环境下实现历史数据拉链表存储建模处理的系统及方法 |
-
2019
- 2019-12-28 CN CN201911385067.0A patent/CN111078709A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678392A (zh) * | 2012-09-20 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 一种数据增量合并的方法及其装置 |
CN105095484A (zh) * | 2015-08-17 | 2015-11-25 | 北京京东世纪贸易有限公司 | 一种数据拉链方法 |
CN107526733A (zh) * | 2016-06-20 | 2017-12-29 | 咪咕互动娱乐有限公司 | 一种拉链表数据存储方法和装置 |
CN109299093A (zh) * | 2018-09-17 | 2019-02-01 | 平安科技(深圳)有限公司 | Hive数据库中拉链表的更新方法、装置和计算机设备 |
CN110096509A (zh) * | 2019-05-16 | 2019-08-06 | 普元信息技术股份有限公司 | 大数据环境下实现历史数据拉链表存储建模处理的系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800073A (zh) * | 2021-01-27 | 2021-05-14 | 浪潮云信息技术股份公司 | 一种基于NiFi更新Delta Lake的方法 |
CN113641742A (zh) * | 2021-08-05 | 2021-11-12 | 广东电网有限责任公司 | 一种数据抽取方法、装置、设备和存储介质 |
CN114020534A (zh) * | 2021-11-05 | 2022-02-08 | 中远海运科技股份有限公司 | 一种航运数据快照生成方法 |
CN116719971A (zh) * | 2023-05-08 | 2023-09-08 | 中银金融科技有限公司 | 拉链表数据加载方法、装置和电子设备 |
CN116719971B (zh) * | 2023-05-08 | 2024-04-09 | 中银金融科技有限公司 | 拉链表数据加载方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078709A (zh) | 一种基于数仓工具hive的非更新方式的增量拉链实现方法 | |
US10936562B2 (en) | Type-specific compression in database systems | |
Qiu et al. | Yafim: a parallel frequent itemset mining algorithm with spark | |
WO2017096939A1 (zh) | 一种在基于HDFS的spark-sql大数据处理系统上建立索引的方法 | |
EP3026579B1 (en) | Forced ordering of a dictionary storing row identifier values | |
JP5922716B2 (ja) | 個別にアクセス可能なデータユニットの記憶の取り扱い方法 | |
US10558495B2 (en) | Variable sized database dictionary block encoding | |
US8560500B2 (en) | Method and system for removing rows from directory tables | |
EP2746971A2 (en) | Replication mechanisms for database environments | |
US9195727B2 (en) | Delta partitions for backup and restore | |
CN112286941B (zh) | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 | |
US11249899B2 (en) | Filesystem management for cloud object storage | |
JP6387399B2 (ja) | データ操作のための、メモリ及びストレージ空間の管理 | |
CN110309233B (zh) | 数据存储的方法、装置、服务器和存储介质 | |
EP3365803A1 (en) | Parallel execution of queries with a recursive clause | |
US11429629B1 (en) | Data driven indexing in a spreadsheet based data store | |
US10055442B2 (en) | Efficient updates in non-clustered column stores | |
WO2016175880A1 (en) | Merging incoming data in a database | |
CN106844716B (zh) | 一种基于Solr索引与Oracle存储的海量数据自动化存储方法 | |
Vijitbenjaronk et al. | Scalable time-versioning support for property graph databases | |
US10747438B1 (en) | Reporting using archived data | |
Hu et al. | Dualtable: A hybrid storage model for update optimization in hive | |
US10606835B2 (en) | Managing data obsolescence in relational databases | |
CN115098486A (zh) | 基于海关业务大数据的实时数据采集方法 | |
CN114647641A (zh) | 一种基于hive的数据增量采集方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200428 |
|
RJ01 | Rejection of invention patent application after publication |