一種可視化olap的應(yīng)用實(shí)現(xiàn)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種可視化OLAP的應(yīng)用實(shí)現(xiàn)方法及系統(tǒng),該方法及系統(tǒng)將OLAP分析的業(yè)務(wù)數(shù)據(jù)存儲于支持分布式、面向列的Hadoop集群,通過Hive和Impala支持的SQL查詢引擎,實(shí)現(xiàn)在線分析平臺與大數(shù)據(jù)存儲平臺的有效對接。該發(fā)明使存儲容量增大,提高了存儲擴(kuò)展性和安全性,且有效地進(jìn)行千億乃至萬億數(shù)據(jù)級別的在線多維統(tǒng)計(jì)分析和機(jī)器學(xué)習(xí)。
【專利說明】—種可視化OLAP的應(yīng)用實(shí)現(xiàn)方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大數(shù)據(jù)環(huán)境下的在線分析性處理的方法及系統(tǒng),具體是一種可以直接對海量明細(xì)數(shù)據(jù)進(jìn)行建模,并實(shí)時分析的方法及系統(tǒng)。
【背景技術(shù)】
[0002]OLAP即聯(lián)機(jī)分析處理,聯(lián)機(jī)分析處理(OLAP)系統(tǒng)是數(shù)據(jù)倉庫系統(tǒng)最主要的應(yīng)用,專門設(shè)計(jì)用于支持復(fù)雜的分析操作,側(cè)重對決策人員和高層管理人員的決策支持,可以根據(jù)分析人員的要求快速、靈活地進(jìn)行大數(shù)據(jù)量的復(fù)雜查詢處理,并且以一種直觀而易懂的形式將查詢結(jié)果提供給決策人員,以便他們準(zhǔn)確掌握企業(yè)(公司)的經(jīng)營狀況,了解對象的需求,制定正確的方案。近年來,OLAP已成為處理數(shù)據(jù)倉庫和商業(yè)智能使用的多維數(shù)據(jù)的流行方法,但是OLAP還存在如下問題:
OLAP分析需要進(jìn)行大量的數(shù)據(jù)分組和表間關(guān)聯(lián),這些雖然是傳統(tǒng)關(guān)系型數(shù)據(jù)庫的強(qiáng)項(xiàng),但是在大數(shù)據(jù)環(huán)境下,在線分析的實(shí)時性能將是傳統(tǒng)數(shù)據(jù)庫OLAP的瓶頸。
[0003]OLAP存在的最大問題還有業(yè)務(wù)靈活多變,必然導(dǎo)致業(yè)務(wù)模型隨之經(jīng)常發(fā)生變化,而業(yè)務(wù)維度和度量一旦發(fā)生變化,技術(shù)人員需要把整個多維立方體(Cube)重新定義并重新生成,業(yè)務(wù)人員只能在此Cube上進(jìn)行多維分析,這樣就限制了業(yè)務(wù)人員快速改變問題分析的角度,從而使所謂的BI系統(tǒng)成為死板的日常報表系統(tǒng)。
[0004]面對實(shí)時性能瓶頸問題,雖然可以使用特定的針對BI優(yōu)化的數(shù)據(jù)庫,比如采用了列存儲或混合存儲、壓縮、延遲加載、對存儲數(shù)據(jù)塊預(yù)統(tǒng)計(jì)、分片索引等技術(shù)。但還是無法解決TB級數(shù)據(jù)量的在線多維分析。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種基于Hadoop數(shù)據(jù)存儲平臺的可視化OLAP的應(yīng)用實(shí)現(xiàn)方法及系統(tǒng),將OLAP分析的數(shù)據(jù)以結(jié)構(gòu)化形式存儲于Hadoop集群,使其存儲容量增大,提高存儲擴(kuò)展性和安全性。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
一種可視化OLAP的應(yīng)用實(shí)現(xiàn)方法,包括如下步驟:
51.通過ETL工具,將海量的關(guān)系型數(shù)據(jù)和數(shù)據(jù)文件進(jìn)行高速傳輸和合并形成業(yè)務(wù)數(shù)據(jù),將業(yè)務(wù)數(shù)據(jù)存儲在支持分布式、列式存儲的Hadoop集群中;
52.通過可視化定義工具在業(yè)務(wù)數(shù)據(jù)中定義維度和度量,并自動生成多維分析的MDX語言,同時使用可視化的分析器通過GUI執(zhí)行已經(jīng)定義的多維分析命令;
53.多維分析服務(wù)器接收提交的分析命令,使用Impala對提交的命令進(jìn)行分析,分析以后將Hadoop中的數(shù)據(jù)抽取到內(nèi)存中,進(jìn)行分布式計(jì)算,最后將返回的結(jié)果生成用戶自定義報表。
[0007]其中,步驟SI 中所述的 ETL 工具為 Storm、Kafka、Flume、Kettle、Sqoop 中的一種或幾種。[0008]其中,步驟SI中所述的業(yè)務(wù)數(shù)據(jù)存儲在Hadoop的Hdfs和Hbase中。
[0009]其中,步驟S3中多維分析處理過程為:首先多維分析服務(wù)器與Impala結(jié)合,通過hive2server JDBC驅(qū)動連接Impala服務(wù),執(zhí)行其SQL查詢引擎訪問存儲在Hbase中的事實(shí)數(shù)據(jù),其次使用Mondrian Server應(yīng)用聚合策略,通過分布式的分組查詢,將聚合數(shù)據(jù)讀取到內(nèi)存中形成緩存數(shù)據(jù),最后通過可視化工具,對聚合后的緩存數(shù)據(jù)進(jìn)行展示。
[0010]優(yōu)選地,所述的可視化工具為Pivot表,餅圖,線狀圖,條形圖和分析圖中的一種或幾種。
[0011]本發(fā)明還公開了一種可視化OLAP的應(yīng)用實(shí)現(xiàn)系統(tǒng),包括模式管理器,帶可視化工具的表現(xiàn)單元,解析、校驗(yàn)、執(zhí)行MDX查詢的計(jì)算單元,維護(hù)創(chuàng)建聚合緩存的聚合單元,及存儲單元,所述的表現(xiàn)單元置于Tomcat服務(wù)器上,所述的模式管理器、聚合單元和計(jì)算單元設(shè)于同一臺包含核心框架的服務(wù)器上,所述的存儲單元放置在Hadoop集群服務(wù)器上,通過遠(yuǎn)程Hive和Impala的Java API連接訪問。
[0012]其中,所述的計(jì)算單元包括集成連接的維度度量定義模塊,多維分析執(zhí)行模塊及可視化分析查詢器。
[0013]采用以上技術(shù)方案后,本發(fā)明具有以下有益效果:
1.解決了在線分析的性能問題,利用分布式強(qiáng)大的并行化處理能力,通過Hive和Impala進(jìn)行數(shù)據(jù)交互,有效解決在線分析性處理在關(guān)系型數(shù)據(jù)庫的性能短板??捎行нM(jìn)行千億乃至萬億數(shù)據(jù)級別的在線多維統(tǒng)計(jì)分析和機(jī)器學(xué)習(xí)。
[0014]2.解決了分析維度難以改變的問題。由于采集來的數(shù)據(jù)本身就是包含大量冗余信息的,利用Hadoop中數(shù)據(jù)存儲結(jié)構(gòu)的特征,可以將大量冗余的維度信息整合到事實(shí)表中,這樣可以在冗余維度下靈活地改變問題分析的角度,有效滿足OLAP分析中的維度不斷變化的需求。
[0015]3.相比于基于傳統(tǒng)關(guān)系型數(shù)據(jù)庫或者數(shù)據(jù)倉庫的在線分析性處理,可以優(yōu)化其計(jì)算性能,滿足TB級數(shù)據(jù)量的在線多維分析。
[0016]4.相比于常規(guī)Hadoop多維分析平臺,解決了 MapReduce以蠻力去掃描大部分?jǐn)?shù)據(jù)進(jìn)行計(jì)算而無法像BI產(chǎn)品那樣進(jìn)行優(yōu)化條件查詢,同時本應(yīng)用也存在著緩存的概念,優(yōu)化二次查詢的性能。
【專利附圖】
【附圖說明】
[0017]圖1為本發(fā)明方法步驟處理示意圖;
圖2為本發(fā)明系統(tǒng)示意圖。
【具體實(shí)施方式】
[0018]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。
[0019]如圖1示,本發(fā)明公開了一種可視化OLAP的應(yīng)用實(shí)現(xiàn)方法。
[0020]該方法包括如下步驟:
S1.通過ETL工具,將海量的關(guān)系型數(shù)據(jù)及數(shù)據(jù)文件進(jìn)行高速傳輸和合并形成業(yè)務(wù)數(shù)據(jù),存儲至支持分布式,面向列的Hadoop集群中; 該步驟中,關(guān)系型數(shù)據(jù)及數(shù)據(jù)文件包括媒體數(shù)據(jù)、消息數(shù)據(jù)、日志數(shù)據(jù)、郵件數(shù)據(jù),關(guān)系型數(shù)據(jù)等內(nèi)容。通過大數(shù)據(jù)環(huán)境下的ETL技術(shù)對數(shù)據(jù)源進(jìn)行抽取、轉(zhuǎn)換和加載。源數(shù)據(jù)ETL后形成所需的業(yè)務(wù)數(shù)據(jù)并存儲在Hadoop的Hafs和Hbase中。
[0021]S2.通過可視化定義工具從業(yè)務(wù)數(shù)據(jù)中定義維度和度量,并可自動生成多維分析的MDX語言,同時使用可視化的分析器通過⑶I執(zhí)行已經(jīng)定義的多維分析命令;
該步驟用戶可自定義維度度量內(nèi)容,解決了使用Mondrian Server解析基于CWM標(biāo)準(zhǔn)的Schema xml的瓶頸,即解決了 Schema對大數(shù)據(jù)平臺下的標(biāo)準(zhǔn)的限制,能自動生成大數(shù)據(jù)平臺下多維分析的MDX語言,構(gòu)建動態(tài)的可支持Impala的SQL標(biāo)準(zhǔn)。
[0022]S3.多維分析服務(wù)器接收提交的分析命令,使用Impala對提交的命令進(jìn)行分析,分析以后將Hadoop數(shù)據(jù)抽取到內(nèi)存中,進(jìn)行分布式計(jì)算,最后將返回的結(jié)果生成用戶自定義報表。
[0023]該步驟中多維分析處理過程為:首先多維分析服務(wù)器與Impala結(jié)合,通過hive2server JDBC驅(qū)動連接Impala服務(wù),執(zhí)行其SQL查詢引擎訪問存儲在Hbase中的事實(shí)數(shù)據(jù),其次使用Mondrian Server應(yīng)用聚合策略,通過分布式的分組查詢,將聚合數(shù)據(jù)讀取到內(nèi)存中形成緩存數(shù)據(jù),最后通過可視化工具,對聚合后的緩存數(shù)據(jù)進(jìn)行展示。展示工具為Pivot表,餅圖,線狀圖,條形圖和分析圖以及一些高級的可視化工具,對分析數(shù)據(jù)結(jié)果集進(jìn)行展示。
[0024]該方法將OLAP分析的源數(shù)據(jù)以結(jié)構(gòu)化形式存儲于Hadoop集群,通過Hive和Impala的SQL查詢引擎,實(shí)現(xiàn)在線分析平臺與大數(shù)據(jù)存儲平臺的有效對接。
[0025]如圖2示,本發(fā)明還公開了采用上述方法的可視化OLAP的應(yīng)用實(shí)現(xiàn)系統(tǒng),包括模式管理器I,表現(xiàn)單元2,計(jì)算單元3,聚合單元4,及存儲單元5。表現(xiàn)單元2置于Tomcat服務(wù)器上,模式管理器1、聚合單元4和計(jì)算單元3設(shè)于同一臺包含核心框架的服務(wù)器上,存儲單元5放置在Hadoop集群服務(wù)器上,通過遠(yuǎn)程Hive和Impala的Java API連接訪問。
[0026]表現(xiàn)單元2,決定了最終用戶所看到的內(nèi)容,提供多客戶端方式展示多維數(shù)據(jù)集,如常用的瀏覽器展示Pivot表,餅圖,線狀圖,條形圖和分析圖等,還有一些高級的可視化工具,例如可點(diǎn)擊的地圖和動態(tài)圖形。這些表現(xiàn)手段可以用Swing或Jsp來實(shí)現(xiàn)的,圖形用gif或jpeg格式渲染,通過調(diào)用restful服務(wù)并返回結(jié)果集到客戶端的應(yīng)用。
[0027]計(jì)算單元3,包括維度度量定義模塊,多維分析執(zhí)行模塊及可視化分析查詢器。用于解析、校驗(yàn)和執(zhí)行MDX查詢,首先計(jì)算坐標(biāo)軸,然后是坐標(biāo)軸中單元格的值。為了提高效率,計(jì)算單元批量發(fā)送到聚合單元。查詢轉(zhuǎn)換器接受應(yīng)用操作已經(jīng)存在的查詢,而不是為每個MDX語句從頭建立查詢。
[0028]聚合單元4,主要是維護(hù)和創(chuàng)建聚合緩存。聚合單元4的Aggregation是內(nèi)存中的cell單元的度量值,被維度值所限制。由維度層發(fā)送的cell請求,如果請求的cell不在星型層的緩存中,或者需要通過rolling up緩存中的聚合計(jì)算,則聚合管理器將請求發(fā)送至存儲層。
[0029]存儲單元5,是Hadoop的Hdfs和Hbase,職責(zé)是存儲ETL后的數(shù)據(jù),已經(jīng)聚合的單元數(shù)據(jù),以及維度表中的member。聚合單元4是通過Hive和Impala技術(shù)訪問存儲在Hbase中的事實(shí)數(shù)據(jù)。
[0030]如圖2示,Schema XML文件定義了事實(shí)數(shù)據(jù)到多維數(shù)據(jù)的映射,模式管理器I突破了解析基于CWM標(biāo)準(zhǔn)的Schema XML File的限制,將Schema配置文件解析成維度模型、星型模型、以及Sql模型;與Impala結(jié)合,通過hive2server JDBC驅(qū)動連接Impala服務(wù),訪問Hadoop中的事實(shí)數(shù)據(jù)和維度數(shù)據(jù);利用Hadoop的分布式并行計(jì)算出度量數(shù)據(jù)。用戶可自定義維度度量內(nèi)容;系統(tǒng)提供多維分析引擎,計(jì)算出聚合數(shù)據(jù),返回給表現(xiàn)單元2,供用戶查看。
[0031]以上所述,僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種可視化OLAP的應(yīng)用實(shí)現(xiàn)方法,其特征在于,包括如下步驟: 51.通過ETL工具,將海量的關(guān)系型數(shù)據(jù)和數(shù)據(jù)文件進(jìn)行高速傳輸和合并形成業(yè)務(wù)數(shù)據(jù),將業(yè)務(wù)數(shù)據(jù)存儲在支持分布式、列式存儲的Hadoop集群中; 52.通過可視化定義工具在業(yè)務(wù)數(shù)據(jù)中定義維度和度量,并自動生成多維分析的MDX語言,同時使用可視化的分析器通過GUI執(zhí)行已經(jīng)定義的多維分析命令; 53.多維分析服務(wù)器接收提交的分析命令,使用Impala對提交的命令進(jìn)行分析,分析以后將Hadoop中的數(shù)據(jù)抽取到內(nèi)存中,進(jìn)行分布式計(jì)算,最后將返回的結(jié)果生成用戶自定義報表。
2.如權(quán)利要求1所述的可視化OLAP的應(yīng)用實(shí)現(xiàn)方法,其特征在于:步驟SI中所述的ETL 工具為 Storm、Kafka、Flume、Kettle、Sqoop 中的一種或幾種。
3.如權(quán)利要求1或2所述的可視化OLAP的應(yīng)用實(shí)現(xiàn)方法,其特征在于:步驟SI中所述的業(yè)務(wù)數(shù)據(jù)存儲在Hadoop的Hdfs和Hbase中。
4.如權(quán)利要求3所述的可視化OLAP的應(yīng)用實(shí)現(xiàn)方法,其特征在于:步驟S3中多維分析處理過程為:首先多維分析服務(wù)器與Impala結(jié)合,通過hive2server JDBC驅(qū)動連接Impala服務(wù),執(zhí)行其SQL查詢引擎訪問存儲在Hbase中的事實(shí)數(shù)據(jù),其次使用Mondrian Server應(yīng)用聚合策略,通過分布式的分組查詢,將聚合數(shù)據(jù)讀取到內(nèi)存中形成緩存數(shù)據(jù),最后通過可視化工具,對聚合后的緩存數(shù)據(jù)進(jìn)行展示。
5.如權(quán)利要求4所述的可視化OLAP的應(yīng)用實(shí)現(xiàn)方法,其特征在于:所述的可視化工具為Pivot表,餅圖,線狀圖,條形圖和分析圖中的一種或幾種。
6.一種可視化OLAP的應(yīng)用實(shí)現(xiàn)系統(tǒng),其特征在于:包括模式管理器,帶可視化工具的表現(xiàn)單元,解析、校驗(yàn)、執(zhí)行MDX查詢的計(jì)算單元,維護(hù)創(chuàng)建聚合緩存的聚合單元,及存儲單元;所述的表現(xiàn)單元置于Tomcat服務(wù)器上,所述的模式管理器、聚合單元和計(jì)算單元設(shè)于同一臺包含核心框架的服務(wù)器上,所述的存儲單元放置在Hadoop集群服務(wù)器上,通過遠(yuǎn)程Hive和Impala的Java API連接訪問。
7.如權(quán)利要求6所述的可視化OLAP的應(yīng)用實(shí)現(xiàn)系統(tǒng),其特征在于:所述的計(jì)算單元包括集成連接的維度度量定義模塊,多維分析執(zhí)行模塊及可視化分析查詢器。
【文檔編號】G06F17/30GK103955502SQ201410167265
【公開日】2014年7月30日 申請日期:2014年4月24日 優(yōu)先權(quán)日:2014年4月24日
【發(fā)明者】陳思恩, 林漳希, 郭星暉, 吳炎泉 申請人:科技谷(廈門)信息技術(shù)有限公司