一種可視化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日
【發明者】陳思恩, 林漳希, 郭星暉, 吳炎泉 申請人:科技谷(廈門)信息技術有限公司