一种可视化olap的应用实现方法及系统的制作方法

文档序号:6544696阅读:370来源:国知局
一种可视化olap的应用实现方法及系统的制作方法
【专利摘要】本发明公开了一种可视化OLAP的应用实现方法及系统,该方法及系统将OLAP分析的业务数据存储于支持分布式、面向列的Hadoop集群,通过Hive和Impala支持的SQL查询引擎,实现在线分析平台与大数据存储平台的有效对接。该发明使存储容量增大,提高了存储扩展性和安全性,且有效地进行千亿乃至万亿数据级别的在线多维统计分析和机器学习。
【专利说明】—种可视化OLAP的应用实现方法及系统
【技术领域】
[0001]本发明涉及大数据环境下的在线分析性处理的方法及系统,具体是一种可以直接对海量明细数据进行建模,并实时分析的方法及系统。
【背景技术】
[0002]OLAP即联机分析处理,联机分析处理(OLAP)系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案。近年来,OLAP已成为处理数据仓库和商业智能使用的多维数据的流行方法,但是OLAP还存在如下问题:
OLAP分析需要进行大量的数据分组和表间关联,这些虽然是传统关系型数据库的强项,但是在大数据环境下,在线分析的实时性能将是传统数据库OLAP的瓶颈。
[0003]OLAP存在的最大问题还有业务灵活多变,必然导致业务模型随之经常发生变化,而业务维度和度量一旦发生变化,技术人员需要把整个多维立方体(Cube)重新定义并重新生成,业务人员只能在此Cube上进行多维分析,这样就限制了业务人员快速改变问题分析的角度,从而使所谓的BI系统成为死板的日常报表系统。
[0004]面对实时性能瓶颈问题,虽然可以使用特定的针对BI优化的数据库,比如采用了列存储或混合存储、压缩、延迟加载、对存储数据块预统计、分片索引等技术。但还是无法解决TB级数据量的在线多维分析。

【发明内容】

[0005]本发明的目的在于提供一种基于Hadoop数据存储平台的可视化OLAP的应用实现方法及系统,将OLAP分析的数据以结构化形式存储于Hadoop集群,使其存储容量增大,提高存储扩展性和安全性。
[0006]为实现上述目的,本发明采用以下技术方案:
一种可视化OLAP的应用实现方法,包括如下步骤:
51.通过ETL工具,将海量的关系型数据和数据文件进行高速传输和合并形成业务数据,将业务数据存储在支持分布式、列式存储的Hadoop集群中;
52.通过可视化定义工具在业务数据中定义维度和度量,并自动生成多维分析的MDX语言,同时使用可视化的分析器通过GUI执行已经定义的多维分析命令;
53.多维分析服务器接收提交的分析命令,使用Impala对提交的命令进行分析,分析以后将Hadoop中的数据抽取到内存中,进行分布式计算,最后将返回的结果生成用户自定义报表。
[0007]其中,步骤SI 中所述的 ETL 工具为 Storm、Kafka、Flume、Kettle、Sqoop 中的一种或几种。[0008]其中,步骤SI中所述的业务数据存储在Hadoop的Hdfs和Hbase中。
[0009]其中,步骤S3中多维分析处理过程为:首先多维分析服务器与Impala结合,通过hive2server JDBC驱动连接Impala服务,执行其SQL查询引擎访问存储在Hbase中的事实数据,其次使用Mondrian Server应用聚合策略,通过分布式的分组查询,将聚合数据读取到内存中形成缓存数据,最后通过可视化工具,对聚合后的缓存数据进行展示。
[0010]优选地,所述的可视化工具为Pivot表,饼图,线状图,条形图和分析图中的一种或几种。
[0011]本发明还公开了一种可视化OLAP的应用实现系统,包括模式管理器,带可视化工具的表现单元,解析、校验、执行MDX查询的计算单元,维护创建聚合缓存的聚合单元,及存储单元,所述的表现单元置于Tomcat服务器上,所述的模式管理器、聚合单元和计算单元设于同一台包含核心框架的服务器上,所述的存储单元放置在Hadoop集群服务器上,通过远程Hive和Impala的Java API连接访问。
[0012]其中,所述的计算单元包括集成连接的维度度量定义模块,多维分析执行模块及可视化分析查询器。
[0013]采用以上技术方案后,本发明具有以下有益效果:
1.解决了在线分析的性能问题,利用分布式强大的并行化处理能力,通过Hive和Impala进行数据交互,有效解决在线分析性处理在关系型数据库的性能短板。可有效进行千亿乃至万亿数据级别的在线多维统计分析和机器学习。
[0014]2.解决了分析维度难以改变的问题。由于采集来的数据本身就是包含大量冗余信息的,利用Hadoop中数据存储结构的特征,可以将大量冗余的维度信息整合到事实表中,这样可以在冗余维度下灵活地改变问题分析的角度,有效满足OLAP分析中的维度不断变化的需求。
[0015]3.相比于基于传统关系型数据库或者数据仓库的在线分析性处理,可以优化其计算性能,满足TB级数据量的在线多维分析。
[0016]4.相比于常规Hadoop多维分析平台,解决了 MapReduce以蛮力去扫描大部分数据进行计算而无法像BI产品那样进行优化条件查询,同时本应用也存在着缓存的概念,优化二次查询的性能。
【专利附图】

【附图说明】
[0017]图1为本发明方法步骤处理示意图;
图2为本发明系统示意图。
【具体实施方式】
[0018]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
[0019]如图1示,本发明公开了一种可视化OLAP的应用实现方法。
[0020]该方法包括如下步骤:
S1.通过ETL工具,将海量的关系型数据及数据文件进行高速传输和合并形成业务数据,存储至支持分布式,面向列的Hadoop集群中; 该步骤中,关系型数据及数据文件包括媒体数据、消息数据、日志数据、邮件数据,关系型数据等内容。通过大数据环境下的ETL技术对数据源进行抽取、转换和加载。源数据ETL后形成所需的业务数据并存储在Hadoop的Hafs和Hbase中。
[0021]S2.通过可视化定义工具从业务数据中定义维度和度量,并可自动生成多维分析的MDX语言,同时使用可视化的分析器通过⑶I执行已经定义的多维分析命令;
该步骤用户可自定义维度度量内容,解决了使用Mondrian Server解析基于CWM标准的Schema xml的瓶颈,即解决了 Schema对大数据平台下的标准的限制,能自动生成大数据平台下多维分析的MDX语言,构建动态的可支持Impala的SQL标准。
[0022]S3.多维分析服务器接收提交的分析命令,使用Impala对提交的命令进行分析,分析以后将Hadoop数据抽取到内存中,进行分布式计算,最后将返回的结果生成用户自定义报表。
[0023]该步骤中多维分析处理过程为:首先多维分析服务器与Impala结合,通过hive2server JDBC驱动连接Impala服务,执行其SQL查询引擎访问存储在Hbase中的事实数据,其次使用Mondrian Server应用聚合策略,通过分布式的分组查询,将聚合数据读取到内存中形成缓存数据,最后通过可视化工具,对聚合后的缓存数据进行展示。展示工具为Pivot表,饼图,线状图,条形图和分析图以及一些高级的可视化工具,对分析数据结果集进行展示。
[0024]该方法将OLAP分析的源数据以结构化形式存储于Hadoop集群,通过Hive和Impala的SQL查询引擎,实现在线分析平台与大数据存储平台的有效对接。
[0025]如图2示,本发明还公开了采用上述方法的可视化OLAP的应用实现系统,包括模式管理器I,表现单元2,计算单元3,聚合单元4,及存储单元5。表现单元2置于Tomcat服务器上,模式管理器1、聚合单元4和计算单元3设于同一台包含核心框架的服务器上,存储单元5放置在Hadoop集群服务器上,通过远程Hive和Impala的Java API连接访问。
[0026]表现单元2,决定了最终用户所看到的内容,提供多客户端方式展示多维数据集,如常用的浏览器展示Pivot表,饼图,线状图,条形图和分析图等,还有一些高级的可视化工具,例如可点击的地图和动态图形。这些表现手段可以用Swing或Jsp来实现的,图形用gif或jpeg格式渲染,通过调用restful服务并返回结果集到客户端的应用。
[0027]计算单元3,包括维度度量定义模块,多维分析执行模块及可视化分析查询器。用于解析、校验和执行MDX查询,首先计算坐标轴,然后是坐标轴中单元格的值。为了提高效率,计算单元批量发送到聚合单元。查询转换器接受应用操作已经存在的查询,而不是为每个MDX语句从头建立查询。
[0028]聚合单元4,主要是维护和创建聚合缓存。聚合单元4的Aggregation是内存中的cell单元的度量值,被维度值所限制。由维度层发送的cell请求,如果请求的cell不在星型层的缓存中,或者需要通过rolling up缓存中的聚合计算,则聚合管理器将请求发送至存储层。
[0029]存储单元5,是Hadoop的Hdfs和Hbase,职责是存储ETL后的数据,已经聚合的单元数据,以及维度表中的member。聚合单元4是通过Hive和Impala技术访问存储在Hbase中的事实数据。
[0030]如图2示,Schema XML文件定义了事实数据到多维数据的映射,模式管理器I突破了解析基于CWM标准的Schema XML File的限制,将Schema配置文件解析成维度模型、星型模型、以及Sql模型;与Impala结合,通过hive2server JDBC驱动连接Impala服务,访问Hadoop中的事实数据和维度数据;利用Hadoop的分布式并行计算出度量数据。用户可自定义维度度量内容;系统提供多维分析引擎,计算出聚合数据,返回给表现单元2,供用户查看。
[0031]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【权利要求】
1.一种可视化OLAP的应用实现方法,其特征在于,包括如下步骤: 51.通过ETL工具,将海量的关系型数据和数据文件进行高速传输和合并形成业务数据,将业务数据存储在支持分布式、列式存储的Hadoop集群中; 52.通过可视化定义工具在业务数据中定义维度和度量,并自动生成多维分析的MDX语言,同时使用可视化的分析器通过GUI执行已经定义的多维分析命令; 53.多维分析服务器接收提交的分析命令,使用Impala对提交的命令进行分析,分析以后将Hadoop中的数据抽取到内存中,进行分布式计算,最后将返回的结果生成用户自定义报表。
2.如权利要求1所述的可视化OLAP的应用实现方法,其特征在于:步骤SI中所述的ETL 工具为 Storm、Kafka、Flume、Kettle、Sqoop 中的一种或几种。
3.如权利要求1或2所述的可视化OLAP的应用实现方法,其特征在于:步骤SI中所述的业务数据存储在Hadoop的Hdfs和Hbase中。
4.如权利要求3所述的可视化OLAP的应用实现方法,其特征在于:步骤S3中多维分析处理过程为:首先多维分析服务器与Impala结合,通过hive2server JDBC驱动连接Impala服务,执行其SQL查询引擎访问存储在Hbase中的事实数据,其次使用Mondrian Server应用聚合策略,通过分布式的分组查询,将聚合数据读取到内存中形成缓存数据,最后通过可视化工具,对聚合后的缓存数据进行展示。
5.如权利要求4所述的可视化OLAP的应用实现方法,其特征在于:所述的可视化工具为Pivot表,饼图,线状图,条形图和分析图中的一种或几种。
6.一种可视化OLAP的应用实现系统,其特征在于:包括模式管理器,带可视化工具的表现单元,解析、校验、执行MDX查询的计算单元,维护创建聚合缓存的聚合单元,及存储单元;所述的表现单元置于Tomcat服务器上,所述的模式管理器、聚合单元和计算单元设于同一台包含核心框架的服务器上,所述的存储单元放置在Hadoop集群服务器上,通过远程Hive和Impala的Java API连接访问。
7.如权利要求6所述的可视化OLAP的应用实现系统,其特征在于:所述的计算单元包括集成连接的维度度量定义模块,多维分析执行模块及可视化分析查询器。
【文档编号】G06F17/30GK103955502SQ201410167265
【公开日】2014年7月30日 申请日期:2014年4月24日 优先权日:2014年4月24日
【发明者】陈思恩, 林漳希, 郭星晖, 吴炎泉 申请人:科技谷(厦门)信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1