CN111399838A - 一种基于SparkSQL和物化视图的数据建模方法及装置 - Google Patents

一种基于SparkSQL和物化视图的数据建模方法及装置 Download PDF

Info

Publication number
CN111399838A
CN111399838A CN202010497130.6A CN202010497130A CN111399838A CN 111399838 A CN111399838 A CN 111399838A CN 202010497130 A CN202010497130 A CN 202010497130A CN 111399838 A CN111399838 A CN 111399838A
Authority
CN
China
Prior art keywords
data
user
model
spark
task
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
CN202010497130.6A
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.)
Chengdu Sefon Software Co Ltd
Original Assignee
Chengdu Sefon Software 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 Chengdu Sefon Software Co Ltd filed Critical Chengdu Sefon Software Co Ltd
Priority to CN202010497130.6A priority Critical patent/CN111399838A/zh
Publication of CN111399838A publication Critical patent/CN111399838A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于SparkSQL和物化视图的数据建模方法及装置,提供多种数据源插件,使用jsplumb给用户提供一个拖拉拽便捷式可视化数据建模方式。并且提供物化视图,提升用户查询自己创建的数据模型性能。解决了针对离线式数据仓库,分析数据的数据量都是很大的,如果执行的SQL任务数据使用传统的JVM或者放到RDBMS里面,对性能和资源的要求较高,在资源不足情况下,会出现创建的数据模型分析失败的问题;同时解决了在对用户数据模型运行之后的物化视图的存储较为单一,无法灵活针对用户存储场景的问题。

Description

一种基于SparkSQL和物化视图的数据建模方法及装置
技术领域
本发明涉及大数据领域,特别涉及一种基于SparkSQL和物化视图的数据建模方法及装置。
背景技术
数据建模是一种用于定义和分析数据的要求和其需要的相应支持的信息***的过程。因此,数据建模的过程中,涉及到的专业数据建模工作,与企业的利益和用户的信息***密切相关。从需求到实际的数据库,有三种不同的类型。用于信息***的数据模型作为一个概念数据模型,本质上是一组记录数据要求的最初的规范技术。数据首先用于讨论适合企业的最初要求,然后被转变为一个逻辑数据模型,该模型可以在数据库中的数据结构概念模型中实现。一个概念数据模型的实现可能需要多个逻辑数据模型。数据建模中的最后一步是确定逻辑数据模型到物理数据模型中到对数据访问性能和存储的具体要求。数据建模定义的不只是数据元素,也包括它们的结构和它们之间的关系。
针对数据建模流程现有技术实现方案:1、在界面通过编写SQL的方式进行传统数据建模;2、针对SQL任务的运行实在传统的JVM或者RDBMS里面进行运行;3、在SQL任务运行完成之后,创建的物化视图是特定的存储,如kylin只能存储到hbase。
现有方法的问题在于,针对离线式数据仓库,分析数据的数据量都是很大的,如果执行的SQL任务数据使用传统的JVM或者放到RDBMS里面,对性能和资源的要求较高,在资源不足情况下,会出现创建的数据模型分析失败;同时,在对用户数据模型运行之后的物化视图的存储较为单一,无法灵活针对用户存储场景。
发明内容
本发明的目的在于:提供了一种基于SparkSQL和物化视图的数据建模方法及装置,解决了针对离线式数据仓库,分析数据的数据量都是很大的,如果执行的SQL任务数据使用传统的JVM或者放到RDBMS里面,对性能和资源的要求较高,在资源不足情况下,会出现创建的数据模型分析失败的问题;同时解决了在对用户数据模型运行之后的物化视图的存储较为单一,无法灵活针对用户存储场景的问题。
本发明采用的技术方案如下:
一种基于SparkSQL和物化视图的数据建模方法及装置,包括以下步骤:
用户对数据表进行操作,得到预设的用户数据模型;
计算中心接收用户提交的用户数据模型计算任务,对用户数据模型进行汇算,生成与数据模型对应的SQL任务发送到spark集群;
Spark集群对SQL任务进行拆分计算,将计算结果存储到用户设置的数据存储源中完成数据建模。
进一步的,所述用户对数据表进行操作的方法为:用户使用jsplumb在界面画布里对数据表进行数据操作。
进一步的,所述用户数据模型包括:星型模型、雪花模型、星座模型和用户自定义模型。
进一步的,所述数据存储源包括关系型数据库和非关系型数据库。
进一步的,通过更改提交到spark集群的SQL任务中的Datasource实现数据存储源的设置和更改。
进一步的,所述数据表包括至少一个事实表或维度表。
本方案提出一种基于spark为计算引擎,提供多种数据源插件,使用jsplumb给用户提供一个拖拉拽便捷式可视化数据建模方式。并且提供物化视图,提升用户查询自己创建的数据模型性能,主要包括以下3个部分:
数据建模可视化:使用jsplumb的前端开源组件,把数据表通过拖拉拽的方式在界面画布里面进行数据操作。在可视化里面实现用户关心的星型模型、雪花模型、星座模型、用户自定义模型。
SQL任务数据计算:在用户提交数据模型任务进行做数据分析的时候,会把数据模型汇算成对应的复杂SQL给计算中心。计算中心是使用spark为计算框架,并且会把SQL任务拆分提交给spark集群进行做复杂数据分析。
数据存储:针对用户SQL任务计算后的数据存储,用户可以在提交任务的时候选择数据存储源,数据存储源包括Oracle、Mysql、Mpp、Hbase、Hive、HDFS等关系型或非关系型数据库。上面的数据存储源是通过更改更改提交到spark集群的SQL任务中的Datasource实现数据存储源的设置和更改。在进行多源数据存储之外,同时也具有多源数据读取异构功能。
一种基于SparkSQL和物化视图的数据建模装置,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令,实现如上述的一种基于SparkSQL和物化视图的数据建模方法。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明一种基于SparkSQL和物化视图的数据建模方法及装置,使用jsplumb开源UI组件能够便于非专业用户构建复杂的数据模型;
2.本发明一种基于SparkSQL和物化视图的数据建模方法及装置,针对SQL任务运行底层使用spark,可以提高数据分析效率和数据量;
3.本发明一种基于SparkSQL和物化视图的数据建模方法及装置,针对SQL任务在spark里面数据分析完成之后的物化视图多源存储,能够便于用户自己本身使用的场景进行数据查询。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本发明的一种实施方式的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合图1对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
AE:ArcGIS Engine。
dtc/dtc_service:数据中转或计算中心/数据中转或计算服务。
Spark:Spark 是专为大规模数据处理而设计的快速通用的计算引擎。
Metadata:元数据。
物化视图:是包括一个查询结果的数据库对像,它是远程数据的本地副本,或者用来生成基于数据表求和的汇总表。
数据建模:对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。
事实表:事实表通常是表征业务含义的数据记录,包含了关联的度量字段,比如消费记录数据。
维度表:维度表通常是表征代表业务类型、类别、属性的码表,比如商品类别表。
星型模型:事实表只能和维度表建立连接关系。
雪花模型:事实表可以和维度表建立连接关系;维度表和维度表可以建立连接关系。
星座模型:星座模型属于星型模型或者雪花模型的扩展,基于多个事实表构建,事实表1和维度表1建立连接关系;维度表1和事实表2可以建立连接关系。
Calcite:开源的动态数据管理框架,它提供了标准的SQL语言、多种查询优化和连接各种数据源的能力,但不包括数据存储、处理数据的算法和存储元数据的存储库。
实施例1
一种基于SparkSQL和物化视图的数据建模方法及装置,包括以下步骤:
用户对数据表进行操作,得到预设的用户数据模型;
计算中心接收用户提交的用户数据模型计算任务,对用户数据模型进行汇算,生成与数据模型对应的SQL任务发送到spark集群;
Spark集群对SQL任务进行拆分计算,将计算结果存储到用户设置的数据存储源中完成数据建模。
实施例2
本实施例在实施例1的基础上进一步的,所述用户对数据表进行操作的方法为:用户使用jsplumb在界面画布里对数据表进行数据操作。
进一步的,所述用户数据模型包括:星型模型、雪花模型、星座模型和用户自定义模型。
实施例3
本实施在实施例1的基础上进一步的,所述数据存储源包括关系型数据库和非关系型数据库。
进一步的,通过更改提交到spark集群的SQL任务中的Datasource实现数据存储源的设置和更改。
实施例4
本实施例在实施例1的基础上进一步的,所述数据表包括至少一个事实表或维度表。
本方案提出一种基于spark为计算引擎,提供多种数据源插件,使用jsplumb给用户提供一个拖拉拽便捷式可视化数据建模方式。并且提供物化视图,提升用户查询自己创建的数据模型性能,主要包括以下3个部分:
数据建模可视化:使用jsplumb的前端开源组件,把数据表通过拖拉拽的方式在界面画布里面进行数据操作。在可视化里面实现用户关心的星型模型、雪花模型、星座模型、用户自定义模型。
SQL任务数据计算:在用户提交数据模型任务进行做数据分析的时候,会把数据模型汇算成对应的复杂SQL给计算中心。计算中心是使用spark为计算框架,并且会把SQL任务拆分提交给spark集群进行做复杂数据分析。
数据存储:针对用户SQL任务计算后的数据存储,用户可以在提交任务的时候选择数据存储源,数据存储源包括Oracle、Mysql、Mpp、Hbase、Hive、HDFS等关系型或非关系型数据库。上面的数据存储源是通过更改更改提交到spark集群的SQL任务中的Datasource实现数据存储源的设置和更改。在进行多源数据存储之外,同时也具有多源数据读取异构功能。
实施例5
一种基于SparkSQL和物化视图的数据建模装置,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令,实现如上述的一种基于SparkSQL和物化视图的数据建模方法。
实施例6
如图1所示,本实施例为一种基于本方案的一项操作实例,用户opeator通过jsplumb对元数据Metadata中存储的数据表进行操作,得到预设的用户数据模型;所述用户数据模型包括:星型模型、雪花模型、星座模型和用户自定义模型。然后将用户数据模型计算任务下发给计算服务dtc_service,dtc_service读取元数据Metadata中用户数据模型的数据,同时调用计算中心dtc,计算中心dtc对用户数据模型进行汇算,生成与数据模型对应的SQL任务发送到spark集群;Spark集群对SQL任务进行拆分计算,将计算结果存储到用户设置的数据存储源Nosql中完成数据建模。用户opeator还可以通过jdbc api接口使用Calcite进行元数据Metadata的重载reload,还可以通过SQL重写定位到上一次这个SQL执行的物化视图结果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (7)

1.一种基于SparkSQL和物化视图的数据建模方法,其特征在于:包括以下步骤:
用户对数据表进行操作,得到预设的用户数据模型;
计算中心接收用户提交的用户数据模型计算任务,对用户数据模型进行汇算,生成与数据模型对应的SQL任务发送到spark集群;
Spark集群对SQL任务进行拆分计算,将计算结果存储到用户设置的数据存储源中完成数据建模。
2.根据权利要求1所述的一种基于SparkSQL和物化视图的数据建模方法,其特征在于:所述用户对数据表进行操作的方法为:用户使用jsplumb在界面画布里对数据表进行数据操作。
3.根据权利要求1所述的一种基于SparkSQL和物化视图的数据建模方法,其特征在于:所述用户数据模型包括:星型模型、雪花模型、星座模型和用户自定义模型。
4.根据权利要求1所述的一种基于SparkSQL和物化视图的数据建模方法,其特征在于:所述数据存储源包括关系型数据库和非关系型数据库。
5.根据权利要求4所述的一种基于SparkSQL和物化视图的数据建模方法,其特征在于:通过更改提交到spark集群的SQL任务中的Datasource实现数据存储源的设置和更改。
6.根据权利要求1所述的一种基于SparkSQL和物化视图的数据建模方法,其特征在于:所述数据表包括至少一个事实表或维度表。
7.一种基于SparkSQL和物化视图的数据建模装置,其特征在于:包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令,实现如权利要求1所述的一种基于SparkSQL和物化视图的数据建模方法。
CN202010497130.6A 2020-06-04 2020-06-04 一种基于SparkSQL和物化视图的数据建模方法及装置 Pending CN111399838A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010497130.6A CN111399838A (zh) 2020-06-04 2020-06-04 一种基于SparkSQL和物化视图的数据建模方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010497130.6A CN111399838A (zh) 2020-06-04 2020-06-04 一种基于SparkSQL和物化视图的数据建模方法及装置

Publications (1)

Publication Number Publication Date
CN111399838A true CN111399838A (zh) 2020-07-10

Family

ID=71429959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010497130.6A Pending CN111399838A (zh) 2020-06-04 2020-06-04 一种基于SparkSQL和物化视图的数据建模方法及装置

Country Status (1)

Country Link
CN (1) CN111399838A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286519A (zh) * 2020-08-12 2021-01-29 北京海致网聚信息技术有限公司 基于sql的动态创建应用的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819609A (zh) * 2012-08-23 2012-12-12 国电南京自动化股份有限公司 一种持久化数据模型建模方法
CN105868019A (zh) * 2016-02-01 2016-08-17 中国科学院大学 一种Spark平台性能自动优化方法
CN107103050A (zh) * 2017-03-31 2017-08-29 海通安恒(大连)大数据科技有限公司 一种大数据建模平台及方法
CN107239539A (zh) * 2017-06-02 2017-10-10 山东浪潮商用***有限公司 一种基于关系型数据库的自定义建模方法
US20170337246A1 (en) * 2016-05-20 2017-11-23 WASAI technology inc. Big-data processing accelerator and big-data processing system thereof
CN110059103A (zh) * 2019-04-28 2019-07-26 南京大学 一种跨平台统一的大数据sql查询方法
CN110851465A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 数据查询方法及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819609A (zh) * 2012-08-23 2012-12-12 国电南京自动化股份有限公司 一种持久化数据模型建模方法
CN105868019A (zh) * 2016-02-01 2016-08-17 中国科学院大学 一种Spark平台性能自动优化方法
US20170337246A1 (en) * 2016-05-20 2017-11-23 WASAI technology inc. Big-data processing accelerator and big-data processing system thereof
CN107103050A (zh) * 2017-03-31 2017-08-29 海通安恒(大连)大数据科技有限公司 一种大数据建模平台及方法
CN107239539A (zh) * 2017-06-02 2017-10-10 山东浪潮商用***有限公司 一种基于关系型数据库的自定义建模方法
CN110059103A (zh) * 2019-04-28 2019-07-26 南京大学 一种跨平台统一的大数据sql查询方法
CN110851465A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 数据查询方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宋江帆: ""基于Spark的物流企业数据仓库的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
过往记忆: ""Spark SQL物化视图原理与实践"", 《HTTPS://BLOG.CSDN.NET/W397090770/ARTICLE/DETAILS/106066551/》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286519A (zh) * 2020-08-12 2021-01-29 北京海致网聚信息技术有限公司 基于sql的动态创建应用的方法

Similar Documents

Publication Publication Date Title
CN107402995B (zh) 一种分布式newSQL数据库***及方法
JP6697392B2 (ja) 半構造データスキーマのトランスペアレントディスカバリ
CN107622103B (zh) 管理数据查询
Manikandan et al. Big data analysis using Apache Hadoop
JP6964384B2 (ja) 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム
JP5826831B2 (ja) データマート自動化
Vyawahare et al. A hybrid database approach using graph and relational database
Liang et al. Express supervision system based on NodeJS and MongoDB
Humbetov Data-intensive computing with map-reduce and hadoop
Mohammed et al. A review of big data environment and its related technologies
JP6159908B1 (ja) 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム
Vershinin et al. Performance analysis of PostgreSQL, MySQL, microsoft SQL server systems based on TPC-H tests
Salloum et al. An asymptotic ensemble learning framework for big data analysis
JPWO2017170459A6 (ja) 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム
Suriarachchi et al. Big provenance stream processing for data intensive computations
CN117056308A (zh) 一种基于OpenLineage数据库生成金融大数据血缘关系的方法
CN111125045B (zh) 一种轻量级etl处理平台
CN111399838A (zh) 一种基于SparkSQL和物化视图的数据建模方法及装置
CN113886505A (zh) 一种基于搜索引擎和关系型数据库实现动态建模的管理***
Santos et al. Open Source Business Intelligence Tools: Metabase and Redash.
Fisun et al. Implementation of the information system of the association rules generation from OLAP-cubes in the post-relational DBMS caché
CN110781210A (zh) 一种应对大规模数据多维聚合实时查询的数据处理平台
Silva et al. EasyBDI: Near Real-Time Data Analytics over Heterogeneous Data Sources.
Revathi et al. Auto JSON: An Automatic Transformation Model for Converting Relational Database to Non-relational Documents
CN109344216A (zh) 一种面向大数据的k近邻连接查询方法

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: 20200710

RJ01 Rejection of invention patent application after publication