CN111078709A - 一种基于数仓工具hive的非更新方式的增量拉链实现方法 - Google Patents

一种基于数仓工具hive的非更新方式的增量拉链实现方法 Download PDF

Info

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
Application number
CN201911385067.0A
Other languages
English (en)
Inventor
李泛洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Liaoning Zhenxing Bank Co Ltd
Original Assignee
Liaoning Zhenxing Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Liaoning Zhenxing Bank Co Ltd filed Critical Liaoning Zhenxing Bank Co Ltd
Priority to CN201911385067.0A priority Critical patent/CN111078709A/zh
Publication of CN111078709A publication Critical patent/CN111078709A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

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的非更新方式的增量拉链实现方法。
背景技术
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的非更新方式的增量拉链实现方法,其特征在于:所述存储器能够存储一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行。
CN201911385067.0A 2019-12-28 2019-12-28 一种基于数仓工具hive的非更新方式的增量拉链实现方法 Pending CN111078709A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 普元信息技术股份有限公司 大数据环境下实现历史数据拉链表存储建模处理的系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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