CN111984680B - 基于Hive分区表实现物化视图性能优化的方法及系统 - Google Patents

基于Hive分区表实现物化视图性能优化的方法及系统 Download PDF

Info

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
Application number
CN202010808579.XA
Other languages
English (en)
Other versions
CN111984680A (zh
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.)
Beijing Haizhi Technology Group Co ltd
Original Assignee
Beijing Haizhi Technology Group 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 Beijing Haizhi Technology Group Co ltd filed Critical Beijing Haizhi Technology Group Co ltd
Priority to CN202010808579.XA priority Critical patent/CN111984680B/zh
Publication of CN111984680A publication Critical patent/CN111984680A/zh
Application granted granted Critical
Publication of CN111984680B publication Critical patent/CN111984680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2423Interactive 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分区表实现物化视图性能优化的方法及系统
技术领域
本发明涉及信息技术数据集成领域,具体涉及一种基于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)、物化视图更新装置,用于在执行物化视图更新时根据有数据变化的分区的数据进行计算,将计算结果替换原物化视图对应分区的数据,得到最终的数据,其中,所述物化视图更新装置包括:
零时表创建模块,用于将有数据变化的分区创建第一零时表,对所述第一零时表的数据进行处理计算,得到第二零时表;
路径修改模块,用于删除物化视图对应的分区数据,将所述第二零时表的数据路径修改为所述物化视图对应分区的路径,得到最终的数据。
CN202010808579.XA 2020-08-12 2020-08-12 基于Hive分区表实现物化视图性能优化的方法及系统 Active CN111984680B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704821A (zh) * 2021-08-27 2021-11-26 中国工商银行股份有限公司 一种视图创建方法、装置和计算机可读存储介质

Citations (4)

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

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

Patent Citations (4)

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