一种基于hadoop框架模型的数据重构方法以及装置与流程

文档序号:19155558发布日期:2019-11-16 00:42阅读:259来源:国知局
一种基于hadoop框架模型的数据重构方法以及装置与流程

本公开涉及大数据计算及处理领域,具体而言,涉及一种基于hadoop框架模型的数据重构方法、装置、电子设备以及计算机可读存储介质。



背景技术:

数据建模指的是对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。将经过系统分析后抽象出来的概念模型转化为物理模型后,在软件工具建立数据库实体以及各实体之间关系的过程。在软件工程中,数据建模是运用正式的数据建模技术,建立信息系统的数据模型的过程。

传统智能在数据建模过程中往往需要对数据进行繁杂的处理,例如复杂的查询语句规范、专门的数据仓库构建工具,这些往往是需要专门的技术人员花费大量时间去熟悉掌握的。构建数据过程较慢,效率难以提升,另外对使用人员要求较高,不利于数据模型的快速处理。

由上可知,需要提供一种或多种至少能够解决上述问题的技术方案。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种基于hadoop框架模型的数据重构方法、装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

根据本公开的一个方面,提供一种基于hadoop框架模型的数据重构方法,包括:

可视化建模步骤,基于hadoop数据仓库工具的底层数据存储建立可视化数据模型;

预汇总步骤,对接入所述可视化数据模型的数据进行预汇总;

数据服务步骤,基于结构化查询语句的,将所述可视化数据模型预汇总数据进行解析,进行数据服务;

可视化分析步骤,基于hadoop数据仓库工具进行数据可视化分析。

在本公开的一种示例性实施例中,所述可视化建模步骤还包括:

基于关系型数据库的底层数据存储建立可视化数据模型。

在本公开的一种示例性实施例中,所述数据服务步骤还包括:

根据查询请求的维度和指标,将所述查询请求封装成查询语句,从数据存储段获取数据,进行数据服务。

在本公开的一种示例性实施例中,所述可视化分析步骤还包括:

通过拖拽、选取的可视化操作进行数据源、表结构、维度、指标、汇总指标模型元素的配置。

在本公开的一种示例性实施例中,所述可视化分析步骤还包括:

提供批量创建模型接口,基于hadoop数据仓库工具进行批量数据可视化分析。

在本公开的一种示例性实施例中,所述方法还包括自定义计算指标:

数据查询指标不限于模型中提供的指标,提供根据现有指标新建计算指标,满足查询数据需求。

在本公开的一种示例性实施例中,所述自定义指标可以保存成固定指标,在维度查询时实现自定义指标的可重复使用。

在本公开的一个方面,提供一种基于hadoop框架模型的数据重构装置,包括:

可视化建模模块,用于基于hadoop数据仓库工具的底层数据存储建立可视化数据模型;

预汇总模块,用于对接入所述可视化数据模型的数据进行预汇总;

数据服务模块,用于基于结构化查询语句的,将所述可视化数据模型预汇总数据进行解析,进行数据服务;

可视化分析模块,用于基于hadoop数据仓库工具进行数据可视化分析。

在本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据上述任意一项所述的方法。

在本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的方法。

本公开的示例性实施例中的基于hadoop框架模型的数据重构方法,基于hadoop数据仓库工具的底层数据存储建立可视化数据模型;对接入所述可视化数据模型的数据进行预汇总;基于结构化查询语句的,将所述可视化数据模型预汇总数据进行解析,进行数据服务;基于hadoop数据仓库工具进行数据可视化分析。一方面,本公开综合总结分析呈现系统提供了多维度数据即席查询,将大数据平台的复杂模型进行梳理转换成简单的维度组合和指标映射,将数据查询的内部逻辑对使用人员完全透明,使用人员不需要知道底层数据来源,模型结构就能查询获取数据;另一方面,本公开基于hadoop框架的数据模型,通过罗列总结业务模型并抽象出一套可自由组合的数据模型,在通过简单的设置选择操作就可以从大数据平台查询出想要的数据。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

通过参照附图来详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。

图1示出了根据本公开一示例性实施例的基于hadoop框架模型的数据重构方法的流程图;

图2示出了根据本公开一示例性实施例的基于hadoop框架模型的数据重构方法的改进效果图;

图3示出了根据本公开一示例性实施例的基于hadoop框架模型的数据重构装置的示意框图;

图4示意性示出了根据本公开一示例性实施例的电子设备的框图;以及

图5示意性示出了根据本公开一示例性实施例的计算机可读存储介质的示意图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

在本示例实施例中,首先提供了一种基于hadoop框架模型的数据重构方法;参考图1中所示,该基于hadoop框架模型的数据重构方法可以包括以下步骤:

可视化建模步骤s110,基于hadoop数据仓库工具的底层数据存储建立可视化数据模型;

预汇总步骤s120,对接入所述可视化数据模型的数据进行预汇总;

数据服务步骤s130,基于结构化查询语句的,将所述可视化数据模型预汇总数据进行解析,进行数据服务;

可视化分析步骤s140,基于hadoop数据仓库工具进行数据可视化分析。

一方面,本公开综合总结分析呈现系统提供了多维度数据即席查询,将大数据平台的复杂模型进行梳理转换成简单的维度组合和指标映射,将数据查询的内部逻辑对使用人员完全透明,使用人员不需要知道底层数据来源,模型结构就能查询获取数据;另一方面,本公开基于hadoop框架的数据模型,通过罗列总结业务模型并抽象出一套可自由组合的数据模型,在通过简单的设置选择操作就可以从大数据平台查询出想要的数据。

下面,将对本示例实施例中的基于hadoop框架模型的数据重构方法进行进一步的说明。

在可视化建模步骤s110中,可以基于hadoop数据仓库工具的底层数据存储建立可视化数据模型。

在本示例的实施例中,所述可视化建模步骤还包括:

基于关系型数据库的底层数据存储建立可视化数据模型。

在预汇总步骤s120中,可以对接入所述可视化数据模型的数据进行预汇总。

在本示例的实施例中,对于底层数据存储与处理采用“hadoop+关系型数据库+流式计算”混搭的数据处理架构,提供实时运算、库外运算、流式计算等计算组件与服务。

在数据服务步骤s130中,可以基于结构化查询语句的,将所述可视化数据模型预汇总数据进行解析,进行数据服务。

在本示例的实施例中,所述数据服务步骤还包括:

根据查询请求的维度和指标,将所述查询请求封装成查询语句,从数据存储段获取数据,进行数据服务。

在可视化分析步骤s140中,可以基于hadoop数据仓库工具进行数据可视化分析。

在本示例的实施例中,所述可视化分析步骤还包括:

通过拖拽、选取的可视化操作进行数据源、表结构、维度、指标、汇总指标模型元素的配置。

在本示例的实施例中,所述可视化分析步骤还包括:

提供批量创建模型接口,基于hadoop数据仓库工具进行批量数据可视化分析。

在本示例的实施例中,所述方法还包括自定义计算指标:

数据查询指标不限于模型中提供的指标,提供根据现有指标新建计算指标,满足查询数据需求。

在本示例的实施例中,所述自定义指标可以保存成固定指标,在维度查询时实现自定义指标的可重复使用。

在本示例的实施例中,以某移动性能改造项目为说明:

(1)当前现有硬件条件弊端显露,分为两个方面:

【架构方面】

传统oracle性能网管数据处理架构,处理并发低,横向扩展代价高,不适合大数据处理分析。

【处理流程方面】

数据并发加载入库数据合并更新效率低;

多指标大数据量数据汇总效率低;

数据处理流程繁杂不利于日常维护;

调度采用crontab方式,调度不及时;

针对2g数据库数据导出,在个厂家数据库中汇总效率低导出速度慢。

(2)针对暴露出的问题,给出解决方案:

【架构方面】

由传统的oracle性能网管数据处理架构,向hadoop大数据处理架构改进。

【处理流程方面】

数据并发加载入库采用hbase方式,适合高并发、大数据量更新操作;

数据汇总采用spark分布式内存计算引擎,提高汇总效率;

数据处理调度流程利用etl图形化配置监控;

针对2g数据库数据导出,建议采用原始表导出,利用spark汇总计算;

根据存储需求,测算存储空间,集群节点和硬件设备。

拟定调整方案,设计网络拓扑并进行详细规划。

创建hbase表、hive外部表映射hbase。

进行file接口数据处理:etl配置:采集、汇总。

进行db接口数据处理:etl配置:采集、汇总。

部署过程:扩容实施工程按顺序分成5个步骤实施

第一步:gp集群调整

本阶段搭建一个新的gp集群(2台4路+50台2路):

新服务器安装。

2台4路服务器从无线集群中撤出2太datannode作为gpmaster和gpstandby.。

搭建gp集群,新建表结构。

调整etl任务在新的gp集群运行新的数据加载和汇总,并行运行。

迁移旧gp集群数据到新集群。

调整性能改造各应用gp数据库配置,指向新的gp数据库。

旧集群停止运行,服务器数据盘重新划分硬盘raid和文件系统。

第二步:无线集群调整

gp旧集群服务器加入无线hadoop集群。

第三步:流计算集群调整

40台服务器安装系统,部署storm和应用(storm集群2)。

32台服务器(storm集群1和3)storm集群和应用调整。

第四步:hbase集群扩容

旧流计算集群中的2路服务器加到hbase集群中。

第五步:有线集群和etl集群服务器互换(本步骤太麻烦,讨论后待定)

按顺序一对为组循环执行:

etl服务器停止一台,重新划分raid和文件系统。

2)有线hadoopdatanode停掉一台,复制数据和系统到etl服务器(包括应用系统和数据)。

3)新的datanode对换主机名和ip,重启系统,重启datanode加入hadoop集群。

4)老的datanode重新划分raid和文件系统,对换主机名和ip,重新部署etl系统。

如图2所示,为由传统的oracle性能网管数据处理架构,向hadoop大数据处理架构改进后,整体效果对比图。可以看出,优化后,无需文件解析,就直接进入数据库加载阶段,且数据库加载阶段时间明显减少,而紧跟其后的数据库汇总阶段时间也大大缩短,整体处理时间缩短到优化前的一半,相当于效率提高为原来的2倍,效果非常显著。

在本示例的实施例中,综合统计分析呈现系统是基于结构化查询模型的,支持传统的大规模并行处理数据库和基于hadoop的结构化查询数据库,数据存储到基于结构化查询的数据库是可以使用综合统计分析呈现进行数据多维分析的。

在本示例的实施例中,综合统计分析呈现系统最大的优势在于多维度数据即席查询,将大数据平台的复杂模型进行梳理转换成简单的维度组合和指标映射,将数据查询的内部逻辑对使用人员完全透明,使用人员不需要知道底层数据来源,模型结构就能查询获取数据。

需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

此外,在本示例实施例中,还提供了一种基于hadoop框架模型的数据重构装置。参照图3所示,该基于hadoop框架模型的数据重构装置200可以包括:可视化建模模块210、预汇总模块220、数据服务模块230以及可视化分析模块240。其中:

可视化建模模块210,用于基于hadoop数据仓库工具的底层数据存储建立可视化数据模型;

预汇总模块220,用于对接入所述可视化数据模型的数据进行预汇总;

数据服务模块230,用于基于结构化查询语句的,将所述可视化数据模型预汇总数据进行解析,进行数据服务;

可视化分析模块240,用于基于hadoop数据仓库工具进行数据可视化分析。

上述中各基于hadoop框架模型的数据重构装置模块的具体细节已经在对应的基于hadoop框架模型的数据重构方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了基于hadoop框架模型的数据重构装置200的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。

下面参照图4来描述根据本发明的这种实施例的电子设备300。图4显示的电子设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图4所示,电子设备300以通用计算设备的形式表现。电子设备300的组件可以包括但不限于:上述至少一个处理单元310、上述至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330、显示单元340。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。例如,所述处理单元310可以执行如图1中所示的步骤s110至步骤s140。

存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(rom)3203。

存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备300也可以与一个或多个外部设备370(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器360通过总线330与电子设备300的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。

在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。

参考图5所示,描述了根据本发明的实施例的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1