CN111984680B - 基于Hive分区表实现物化视图性能优化的方法及系统 - Google Patents
基于Hive分区表实现物化视图性能优化的方法及系统 Download PDFInfo
- Publication number
- CN111984680B CN111984680B CN202010808579.XA CN202010808579A CN111984680B CN 111984680 B CN111984680 B CN 111984680B CN 202010808579 A CN202010808579 A CN 202010808579A CN 111984680 B CN111984680 B CN 111984680B
- Authority
- CN
- China
- Prior art keywords
- data
- partition
- materialized view
- original
- user
- 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.)
- Active
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2423—Interactive query statement specification based on a database schema
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于Hive分区表实现物化视图性能优化的方法及系统,其方法包括如下步骤:1、用户需要将原表设为分区表,系统中称为高性能表,指定分区字段,分区粒度等信息,底层根据用户的配置将原表转化成分区表;2、在原表有数据变化,数据追加、修改或删除时将变化的信息记录下来,包括变化的分区,数据量等;3、在执行物化视图更行时根据有数据变化的分区的数据进行计算,将计算结果替换原物化视图对应分区的数据,得到最终的数据。其系统包括:1、原表存储数据类型转化装置;2、物化视图映射逻辑配置装置。本专利极大的减少了原数据量非常大时物化视图的刷新时间,极大的提高了物化视图刷新的性能;降低了用户的使用门槛,对不懂数据库,不懂编程的用户非常友好。
Description
技术领域
本发明涉及信息技术数据集成领域,具体涉及一种基于Hive分区表技术实现物化视图性能优化的方法及系统。
背景技术
现阶段,以Apache Hive分区表作为数据库创建的物化视图,在原表数据更新,触发物化视图更新时需要重新计算全量数据,无法精准的基于变化的分区数据做计算从而更新物化视图。但是实际使用场景往往是原表不断的数据追加,大部分分区的数据没有变化,如果每次更新都全量进行重新计算,无疑会进行很多重复且没有意义的计算,浪费计算资源,同时也会造成物化视图刷新执行时间长,用户等待时间长,降低用户的使用体验。如果能在原表更新时,仅根据有数据变化的分区计算变化的数据,然后将计算结果更行物化视图的数据,那么就可以避免重复计算,减少计算资源的浪费,提升用户的使用体验。
发明内容
为实现上述目的,本发明提供如下技术方案:基于Hive分区表实现物化视图性能优化的方法及系统,其方法包括如下步骤:
1、用户需要将原表设为分区表,系统中称为高性能表,指定分区字段,分区粒度等信息,底层根据用户的配置将原表转化成分区表;
2、在原表有数据变化,数据追加、修改或删除时将变化的信息记录下来,包括变化的分区,数据量等;
3、在执行物化视图更行时根据有数据变化的分区的数据进行计算,将计算结果替换原物化视图对应分区的数据,得到最终的数据。
其系统包括:
1、原表存储数据类型转化装置,用户可以按照自己的需求配置分区信息,系统按照用户的配置将原表转化为分区表;
2、物化视图映射逻辑配置装置,用户可以通过界面拖拽的方式配置物化视图的执行逻辑,操作简单,方便。
本专利所述的基于Hive分区表实现物化视图性能优化的方法及系统,解决了现有基于Hive数据库创建物化视图,无法只根据有数据变化的分区更新视图,存在大量重复计算,造成计算资源浪费,性能低下的问题,极大的减少了原数据量非常大时物化视图的刷新时间,极大的提高了物化视图刷新的性能;另一方面,本发明提供的物化视图配置装置,允许用户以可视化界面交互的方式设置,将原表改成高性能表,且支持用户以可视化界面交互的方式配置物化视图的映射逻辑,取代传统代码配置,手写逻辑的方式,降低了用户的使用门槛,对不懂数据库,不懂编程的用户非常友好。
附图说明
图1为本发明的方法流程图
图2为本发明的处理机制流程图
图3为本发明的第一个原表配置示意图
图4为本发明的第二个原表配置示意图
图5为本发明的映射逻辑配置示意图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种基于Hive数据库创建物化视图的方法流程图,如图1所示,该方法包括:
S1、通过界面化操作,经原表转化为高性能表(分区表),此后,原表如果有数据更新,会记录数据变化的分区及其他相关信息;
S2、在物化视图更新时会根据判断原表的数据是否有变化,如果没有变化则直接跳过执行;
S3、如果有变化会根据变动的分区的数据进行计算,更新物化视图对应分区的数据,得到最终的结果。
具体实现为,在步骤S1中,根据用户配置的分区信息,在原表数据下次更新时,将原表的数据删除,创建一个带有分区字段的新的分区表。之后原表数据每次更新都会记录本次更新信息,包括变动数据分区信息,数据量大小等等信息。在物化视图更新时,如步骤S2所示,会根据S1中记录的信息,判断是否要根据分区信息来更新物化视图。如果没有分区记录信息,则按普通物化视图更新;如果分区数据量没有变化,跳过执行。
如果是分区表且数据有变化,如步骤S3所示,会根据S1中记录的有数据变化的分区,创建零时表1,基于零时表1做数据的处理计算,得到的结果保存为零时表2,删除物化视图对应的分区的数据,将零时表2中的数据路径改成物化视图对应分区的路径,更新物化视图的元数据信息。
图2为本发明一个实施例的基于Hive数据库创建物化视图的处理机制流程图。在物化视图的具体实现上,将原表有变化的分区的数据抽出来,具化为一张零时表1,零时表中的数据经过计算后的结果保存为零时分区表2,将零时表2的数据的存储文件替换物化视图对应的文件,刷新物化视图的元数据信息。至此,物化视图更新完成。
图3为本发明一个实施例的基于Hive数据库创建物化视图的第一个原表配置示意图,图4为本发明一个实施例的基于Hive数据库创建物化视图的第二个原表配置示意图,用户可以在可视化界面,通过点击能操作轻松的配置原表的相关信息。
该系统包括以下关键功能:
1、列举当前表的字段信息,用户根据列出的字段信息选取要作为分区字段的字段信息。
2、列举分区字段的数据处理方式:日期字段支持自定义分区粒度,可以是年、月、日等;其他类型字段可以选取该字段数据的hash值或数据值本身。
图5为本发明一个实施例的基于Hive数据库创建物化视图的映射逻辑配置示意图,用户可以在可视化界面,通过拖拽,点击等方式轻松的配置物化视图的相关信息。该系统包括以下关键功能:
1、在界面左侧列举物化视图的逻辑处理算子,用户可以通过拖拽的方式将算子连接在原表之后,通过对算子的配置,完成物化视图的逻辑处理及保存。例如:可以对原表数据进行筛选、聚合、过滤以及增删字段等一系列操作。
2、支持多个算子的连续处理。用户可以通过算子的不同搭配组合,完成预期的处理逻辑,无需写代码,或者写sql,对普通用户也非常友好。
3、画布上的各个接点都支持预览,用户可以在界面上点击预览,查看当前算子处理完后数据的概况,每一步操作的过程中用户都可以及时的查看结果是否符合预期。
4、当模型保存后,用户可以点击编辑模型的按钮来自定义物化视图的更新策略,支持定时更新,自动更新,暂停更新。用户可根据自己的需求选择对应的更新策略。
5、当鼠标悬浮在界面带有问号的图标上时,会显示功能的介绍及使用说明,降低用户对整个系统的使用门槛。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.基于Hive分区表实现物化视图性能优化的方法,其特征在于,其方法包括如下步骤:
(1)、用户需要将原表设为分区表,系统中称为高性能表,指定分区字段,分区粒度信息,底层根据用户的配置将原表转化成分区表;
(2)、在原表有数据变化,数据追加、修改或删除时将变化的信息记录下来,包括变化的分区,数据量;
(3)、在执行物化视图更新时根据有数据变化的分区的数据进行计算,将计算结果替换原物化视图对应分区的数据,得到最终的数据,其中,所述在执行物化视图更新时根据有数据变化的分区的数据进行计算,将计算结果替换原物化视图对应分区的数据,得到最终的数据包括:
将有数据变化的分区创建第一零时表,对所述第一零时表的数据进行处理计算,得到第二零时表;
删除物化视图对应的分区数据,将所述第二零时表的数据路径修改为所述物化视图对应分区的路径,得到最终的数据。
2.基于Hive分区表实现物化视图性能优化的系统,其特征在于,其系统包括:
(1)、原表存储数据类型转化装置,用户按照自己的需求配置分区信息,指定分区字段,分区粒度信息,系统按照用户的配置将原表转化为分区表;
(2)、物化视图映射逻辑配置装置,用户通过界面拖拽的方式配置物化视图的执行逻辑,其中,所述界面中列举物化视图的逻辑处理算子,用户通过拖拽的方式将算子连接在原表之后,通过对算子的配置,完成物化视图的逻辑处理及保存;
(3)、数据记录装置,用于在原表有数据变化,数据追加、修改或删除时将变化的信息记录下来,包括变化的分区,数据量;
(4)、物化视图更新装置,用于在执行物化视图更新时根据有数据变化的分区的数据进行计算,将计算结果替换原物化视图对应分区的数据,得到最终的数据,其中,所述物化视图更新装置包括:
零时表创建模块,用于将有数据变化的分区创建第一零时表,对所述第一零时表的数据进行处理计算,得到第二零时表;
路径修改模块,用于删除物化视图对应的分区数据,将所述第二零时表的数据路径修改为所述物化视图对应分区的路径,得到最终的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010808579.XA CN111984680B (zh) | 2020-08-12 | 2020-08-12 | 基于Hive分区表实现物化视图性能优化的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010808579.XA CN111984680B (zh) | 2020-08-12 | 2020-08-12 | 基于Hive分区表实现物化视图性能优化的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984680A CN111984680A (zh) | 2020-11-24 |
CN111984680B true CN111984680B (zh) | 2022-04-19 |
Family
ID=73435353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010808579.XA Active CN111984680B (zh) | 2020-08-12 | 2020-08-12 | 基于Hive分区表实现物化视图性能优化的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984680B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704821A (zh) * | 2021-08-27 | 2021-11-26 | 中国工商银行股份有限公司 | 一种视图创建方法、装置和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122443A (zh) * | 2017-04-24 | 2017-09-01 | 中国科学院软件研究所 | 一种基于Spark SQL的分布式全文检索系统及方法 |
CN107623583A (zh) * | 2016-07-15 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 数据交互处理方法、装置及系统 |
CN107766428A (zh) * | 2017-09-15 | 2018-03-06 | 北京大学 | 一种自动实现数据可视化的方法和系统 |
CN110457331A (zh) * | 2019-07-19 | 2019-11-15 | 北京邮电大学 | 通用的实时更新多维数据可视化系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7930297B2 (en) * | 2004-12-03 | 2011-04-19 | Oracle International Corporation | Materialized view maintenance and change tracking |
US7895186B2 (en) * | 2005-03-31 | 2011-02-22 | Oracle International Corp. | Method and mechanism of materialized view mix incremental refresh |
CN101477524A (zh) * | 2008-12-11 | 2009-07-08 | 金蝶软件(中国)有限公司 | 基于物化视图的系统性能优化方法及系统 |
CN103092871A (zh) * | 2011-11-01 | 2013-05-08 | 镇江华扬信息科技有限公司 | 一种实现异构数据库的数据同步方法 |
CN105701094B (zh) * | 2014-11-24 | 2019-03-19 | 北京航管科技有限公司 | 一种etl数据采集方法和装置 |
CN107273506B (zh) * | 2017-06-19 | 2020-06-16 | 西安电子科技大学 | 一种数据库多表联合查询的方法 |
CN110059103B (zh) * | 2019-04-28 | 2023-06-06 | 南京大学 | 一种跨平台统一的大数据sql查询方法 |
-
2020
- 2020-08-12 CN CN202010808579.XA patent/CN111984680B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623583A (zh) * | 2016-07-15 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 数据交互处理方法、装置及系统 |
CN107122443A (zh) * | 2017-04-24 | 2017-09-01 | 中国科学院软件研究所 | 一种基于Spark SQL的分布式全文检索系统及方法 |
CN107766428A (zh) * | 2017-09-15 | 2018-03-06 | 北京大学 | 一种自动实现数据可视化的方法和系统 |
CN110457331A (zh) * | 2019-07-19 | 2019-11-15 | 北京邮电大学 | 通用的实时更新多维数据可视化系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111984680A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12007989B1 (en) | Query execution using access permissions of queries | |
US11615073B2 (en) | Supplementing events displayed in a table format | |
US11983166B1 (en) | Summarized view of search results with a panel in each column | |
US11983167B1 (en) | Loading queries across interfaces | |
US7779000B2 (en) | Associating conditions to summary table data | |
US10579678B2 (en) | Dynamic hierarchy generation based on graph data | |
CN102426582B (zh) | 数据操作管理装置和数据操作管理方法 | |
US9448705B2 (en) | Configuring graphical displays | |
CN104035772A (zh) | 基于静态分析的源码多版本函数调用关系差异性标识方法 | |
US20210125144A1 (en) | Bill of material conversion method, electronic apparatus and non-transitory computer-readable storage medium | |
US20170193036A1 (en) | Framework for joining datasets | |
US20200342029A1 (en) | Systems and methods for querying databases using interactive search paths | |
CN111984176A (zh) | 一种软件在线开发平台及开发方法 | |
CN111984680B (zh) | 基于Hive分区表实现物化视图性能优化的方法及系统 | |
CN111475602B (zh) | 多版本知识图谱的存储方法、装置、存储介质及电子设备 | |
CN114895875B (zh) | 一种零代码可视化信息系统元数据的生产应用方法及系统 | |
CN106155990A (zh) | 一种数据处理和应用一体化的方法 | |
US9710571B2 (en) | Graphical top-down planning system | |
US20240004516A1 (en) | Method and system for creating a data model | |
JP2007047916A (ja) | 文書管理装置 | |
CN114491161A (zh) | 基于图的多存储形态空间大数据一体化管理方法及装置 | |
CN114970550A (zh) | 一种面向语义融合业务模型的语义关系自动发现方法 | |
CN117033420A (zh) | 一种知识图谱同概念下实体数据可视化展示方法及装置 | |
CN117724776A (zh) | 一种通用数据管理应用快速生成方法及装置 | |
CN116860228A (zh) | 数据获取任务的生成方法和装置 |
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 | ||
CB02 | Change of applicant information |
Address after: 100083 b-1011, bungalow, building 2, A5 Xueyuan Road, Haidian District, Beijing Applicant after: Beijing Haizhi Technology Group Co.,Ltd. Address before: 100083 b-1011, bungalow, building 2, A5 Xueyuan Road, Haidian District, Beijing Applicant before: BEIJING HAIZHI WANGJU INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |