一种基于presto的数据的多维数据的分析方法与流程

文档序号:14451700阅读:493来源:国知局

本发明涉及计算机数据管理技术领域,更具体地,涉及一种基于presto的数据的多维分析方法。



背景技术:

olap即联机分析处理,olap系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业的经营状况,了解对象的需求,制定正确的方案。近年来,olap已成为处理数据仓库和商业智能使用的多维数据的流行方法。

olap分析需要进行大量的数据分组和表间关联,这些虽然是传统关系型数据库的强项,但是在大数据环境下,在线分析的实时性能将是传统数据库olap的瓶颈。olap存在的最大问题还有业务灵活多变,必然导致业务模型随之经常发生变化,而业务维度和度量一旦发生变化,技术人员需要把整个多维立方体(cube)重新定义并重新生成,业务人员只能在此cube上进行多维分析,这样就限制了业务人员快速改变问题分析的角度,从而使所谓的bi系统成为死板的日常报表系统。面对实时性能瓶颈问题,虽然可以使用特定的针对bi优化的数据库,比如采用了列存储或混合存储、压缩、延迟加载、对存储数据块预统计、分片索引等技术,但还是无法解决tb级数据量的数据的在线多维分析。



技术实现要素:

本发明提供一种克服现有的olap分析无法解决tb级数据量的数据的在线多维分析问题的一种基于presto的数据的多维分析方法。

根据本发明的一个方面,提供一种基于presto的数据的多维分析方法,所述方法包括:

s1,对数据仓库中的所有业务数据进行建模,并将建模之后的逻辑模型映射至所述数据仓库的数据表中;

s2,根据所述逻辑模型,将用户的查询操作转换成sql语言;

s3,将所述sql语言提交至presto查询引擎,获取分析结果。

优选地,步骤s1之前还包括:

获取业务数据;

将所述业务数据进行数据清洗;

将进行数据清洗之后的业务数据写入至数据仓库的数据表中。

优选地,所述业务数据包括结构化数据和非结构化数据;其中,所述结构化数据包括excel数据和xml数据,所述非结构化数据包括日志数据和图片数据。

优选地,步骤s1具体包括:

s11,对所述数据仓库中的所有业务数据进行分类,并对每一类业务数据进行建模;

s12,将对每一类业务数据进行建模之后得到的逻辑模型映射至所述数据仓库的数据表中,其中,每一类业务数据的逻辑模型对应一个主题仓库。

优选地,步骤s11具体包括:

s111,根据所述数据仓库中的所有业务数据的主题,对所述数据仓库中的所有业务数据进行分类;

s112,对于每一类业务数据,确定所述每一类业务数据的逻辑模型的维度和度量;

s113,根据所述每一类业务数据的模型的维度和度量,确定对应类别的业务数据的逻辑模型。

优选地,步骤s2具体包括:

对于任一个主题仓库,根据所述任一个主题仓库对应的逻辑模型的维度和度量,将用户的查询操作转换成至少一条sql语言。

优选地,步骤s3具体包括:

s31,将所述sql语言提交至presto查询引擎,presto查询引擎接收所述sql语言,并根据所述sql语言,执行对应操作;

s32,获取presto查询引擎执行对应操作之后得到的分析结果。

优选地,步骤s32具体包括:

s321,获取presto查询引擎执行对应操作之后得到的执行结果;

s322,将所述执行结果封装成数据集;

s323,根据所述数据集,展示相关的数据报表以及可视化图形内容,将所述相关的数据报表以及所述可视化图形内容作为所述分析结果。

根据本发明的另一个方面,提供一种基于presto的数据的多维分析设备,所述设备包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。

根据本发明的再一个方面,提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述的方法。

本发明提供的一种基于presto的数据的多维分析方法,通过将olap分析的数据以结构化形式存储于数据仓库,提高了数据的存储扩展性、数据的读取速率以及分析速率,对于tb数据量大小的数据也能进行实时性在线分析,提高了用户体验。

附图说明

图1为根据本发明实施例提供的一种基于presto的数据的多维分析方法的流程图;

图2为根据本发明实施例提供的一种实现基于presto的数据的多维分析方法的架构图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

为了克服现有技术中olap分析无法解决tb级数据量的数据的在线多维分析问题,本发明提供一种基于presto的数据的多维分析方法。

图1为根据本发明实施例提供的一种基于presto的数据的多维分析方法的流程图,如图1所示,所述方法包括:

s1,对数据仓库中的所有业务数据进行建模,并将建模之后的逻辑模型映射至所述数据仓库的数据表中。

s2,根据所述逻辑模型,将用户的查询操作转换成sql语言;

s3,将所述sql语言提交至presto查询引擎,获取分析结果。

当今的数据处理大致可以分成两大类:联机事务处理oltp(on-linetransactionprocessing)、联机分析处理olap(on-lineanalyticalprocessing)。oltp是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。olap是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

本实施例提供的一种基于presto的数据的多维分析方法,通过将olap分析的数据以结构化形式存储于数据仓库,提高了数据的存储扩展性、数据的读取速率以及分析速率,对于tb数据量大小的数据也能进行实时性在线分析,提高了用户体验。

基于上述实施例,步骤s1之前还包括:

获取业务数据。

将所述业务数据进行数据清洗。

将进行数据清洗之后的业务数据写入至数据仓库的数据表中。

数据仓库中的数据通常是面向某一主题的数据的集合,这些数据通常是从多个业务系统中抽取而来,并且,这些数据包含历史数据。因此,这些数据中避免不了存在错误数据,或者数据相互之间存在冲突现象。这些错误的或有冲突的数据显然是我们不想要的,称为“脏数据”。我们要按照一定的规则把“脏数据”“洗掉”,这就是数据清洗。

也就是说,数据清洗是对数据进行重新审查和校验的过程,包括检查数据一致性,处理无效值和缺失值等。

需要说明的是,对业务数据的清洗方式通过具体的场景和应用而定,本实施例对此不作限定。随后将进行数据清洗之后的业务数据写入至数据仓库的数据表中。

其中,业务数据包括结构化数据和非结构化数据;其中,所述结构化数据包括excel数据和xml数据,所述非结构化数据包括日志数据和图片数据。需要说明的是,本实施例仅对结构化数据和非结构化数据的格式进行举例性说明,对结构化数据和非结构化数据的具体格式不作限定。

本实施例提供的一种基于presto的数据的多维分析方法,通过在将业务数据写入数据仓库的数据表之前,对业务数据进行清洗,以获取更高质量的有用数据,进而获取更精确的分析与决策结果。

基于上述实施例,本实施例对上述实施例中的步骤s1进行具体说明,步骤s1具体包括:

s11,对所述数据仓库中的所有业务数据进行分类,并对每一类业务数据进行建模。

s12,将对每一类业务数据进行建模之后得到的逻辑模型映射至所述数据仓库的数据表中,其中,每一类业务数据的逻辑模型对应一个主题仓库。

具体地,数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。在本实施例中,数据模型表现的是实体和实体之间的关系,通过对实体和实体之间关系的定义和描述,来表达实际的业务中具体的业务关系。数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型。数据模型的建设,对于数据仓库的建设,有着决定性的意义。

对数据仓库中的所有业务数据进行分类,并对每一类业务数据进行建模,并将每一类业务数据进行建模之后得到的逻辑模型映射至数据仓库的数据表中。

需要说明的是,每一类业务数据的逻辑模型对应一个主题仓库。

本实施例提供的一种基于presto的数据的多维分析方法,通过对不同类别的业务数据进行建模,使得能够保证整个企业的数据的一致性,各个部门之间数据的差异将会得到有效解决。并且,当上层业务发生变化时,通过数据模型,底层的技术实现可以非常轻松的完成业务的变动,从而使得整个数据仓库系统更具灵活性。

基于上述实施例,本实施例对上述实施例中的步骤s11进行具体说明,步骤s11具体包括:

s111,根据所述数据仓库中的所有业务数据的主题,对所述数据仓库中的所有业务数据进行分类。

s112,对于每一类业务数据,确定所述每一类业务数据的模型的维度和度量。

s113,根据所述每一类业务数据的模型的维度和度量,确定对应类别的业务数据的逻辑模型。

具体地,针对数据仓库中的所有业务数据的主题,对所有业务数据进行分类,例如:根据业务分别建立,经纪人主题、用户主题、房源主题、二手房交易主题和新楼盘主题等。

在每个主题内,确定数据的逻辑模型的维度以及度量。并根据维度以及度量,确定该主题的业务数据的逻辑模型。

其中,维度是分析业务数据所采用的分析角度,度量是用来度量该业务数据采用的量化的数值。通过一类业务数据的维度和度量,可以确定该类业务数据的逻辑模型。

例如,对于房源主题,确定房源主题内业务数据的逻辑模型的维度和度量,维度包括:房屋的位置、年代和楼层等,度量包括房屋的成交价格等。根据维度和度量,在数据仓库中建立对应的维度表和事实表,进而根据维度表和事实表,确定对应类别的业务数据的逻辑模型。

基于上述实施例,本实施例对上述实施例中的步骤s2进行具体说明,步骤s2具体包括:

对于任一个主题仓库,根据所述任一个主题仓库对应的逻辑模型的维度和度量,将用户的查询操作转换成至少一条sql语言。

具体地,用户可以在任一个主题仓库中执行查询操作,用户的查询操作根据该主题仓库对应的逻辑模型的维度和度量,将用户的查询操作转换成一条或一系列的sql语言。

基于上述实施例,本实施例对上述实施例中的步骤s3进行具体说明,步骤s3具体包括:

s31,将所述sql语言提交至presto查询引擎,presto查询引擎接收所述sql语言,并根据所述sql语言,执行对应操作。

s32,获取presto查询引擎执行对应操作之后得到的分析结果。

具体地,将上述实施例中的一条或一系列的sql语言提交到presto查询引擎执行,presto查询引擎根据该一条或一系列的sql语言,执行对应操作或生成分析结果。

基于上述实施例,本实施例对上述实施例中的步骤s32进行具体说明,步骤s32具体包括:

s321,获取presto查询引擎执行对应操作之后得到的执行结果.

s322,将所述执行结果封装成数据集。

s323,根据所述数据集,展示相关的数据报表以及可视化图形内容,将所述相关的数据报表以及所述可视化图形内容作为所述分析结果。

需要说明的是,可视化的内容可以为数据报表和图形等可视化的内容。

为了实现上述实施例中的一种基于presto的数据的多维分析方法,基于上述实施例,本实施例作为一个优选实施例,提供了一种实现该方法的架构,图2为根据本发明实施例提供的一种实现基于presto的数据的多维分析方法的架构图,如图2所示,该架构包括:可视化模块、数据接入模块、模型创建模块和数据查询presto模块。

数据接入模块用于将进行数据清洗之后的业务数据写入至数据仓库的数据表中;模型创建模块用于对数据仓库中的所有业务数据进行建模,并将建模之后的逻辑模型映射至数据仓库的数据表中;数据查询presto模块用于根据逻辑模型,将用户的查询操作转换成sql语言,并根据sql语言,获取对业务数据的分析结果;可视化模块用于将分析结果以可视化的内容,展示给用户。

基于上述实施例,本发明另一实施例公开一种基于presto的数据的多维分析设备,该设备包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述各方法实施例所提供的同步方法,例如包括:对数据仓库中的所有业务数据进行建模,并将建模之后的逻辑模型映射至所述数据仓库的数据表中;根据所述逻辑模型,将用户的查询操作转换成sql语言;将所述sql语言提交至presto查询引擎,获取分析结果。

本领域普通技术人员可以理解:实现上述设备实施例或方法实施例仅仅是示意性的,其中所述处理器和所述存储器可以是物理上分离的部件也可以不是物理上分离的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

基于上述实施例,本发明再一实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:对数据仓库中的所有业务数据进行建模,并将建模之后的逻辑模型映射至所述数据仓库的数据表中;根据所述逻辑模型,将用户的查询操作转换成sql语言;将所述sql语言提交至presto查询引擎,获取分析结果。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后,本发明的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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