999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

大數(shù)據環(huán)境下的文旅多維數(shù)據分析系統(tǒng)設計與開發(fā)

2021-06-25 11:10:42陳永海
電子測試 2021年4期
關鍵詞:引擎圖表用戶

陳永海

(北海職業(yè)學院,廣西北海,536000)

1 問題分析

隨著中國傳統(tǒng)技術產業(yè)發(fā)展結構的調整和新技術的應用,文化進行旅游服務產業(yè)突破了傳統(tǒng)的產業(yè)管理模式,逐漸演變?yōu)橐环N新的多向、多層次、多維度的產業(yè)。在數(shù)據多維分析的領域中,傳統(tǒng)的統(tǒng)計分析軟件,如:IBMSPSS,只針對樣本量較小、結構簡單的特定數(shù)據進行統(tǒng)計分析,不適用于對大批量、結構復雜的大數(shù)據進行深層次分析。在大數(shù)據的分析處理中,Apache Hive作為數(shù)據倉庫提供查詢計算接口;Apache Kylin在面對固化型多維分析場景時,即分析的需求和要統(tǒng)計的指標十分明確,其采用數(shù)據預計算技術來提高響應速度;針對探索式多維分析場景時,即分析需求尚不明確,分析員需要不斷嘗試分析過程,此時Spark SQL可以實時計算數(shù)據,并快速響應數(shù)據。雖然針對不同場景存在多種數(shù)據分析工具,但是當前基于多場景文化旅游的大數(shù)據分析平臺也面臨著以下的問題:具有各自的適用場景,不能同時滿足多種不同查詢計算需求;同時涵蓋分布式數(shù)據分析全生命周期的應用匱乏。

2 基于文旅數(shù)據混合查詢引擎設計與實現(xiàn)

在大多數(shù)情況下,基于預計算的Apache Kylin的查詢效率要遠高于Spark SQL查詢,但是Kylin遇到具體記錄的查詢和cuboid不存在的情況,它的查詢效率會遠低于Spark SQL。在實際的業(yè)務場景中,存在以下問題:

(1)Spark SQL和Kylin都有各自適應的場景和優(yōu)缺點,單一的引擎不能同時滿足多種場景需求。

(2)多種查詢引擎并存,業(yè)務人員每次都需要判斷使用哪種查詢分析引擎,缺乏統(tǒng)一的路由策略進行自動判斷選擇。

(3)統(tǒng)一的查詢引擎需要混合多種引擎,但是它們擁有不同的執(zhí)行框架,解析過程也不完全相同。

針對以上的問題,本文設計了混合查詢引擎,實現(xiàn)自動路由選擇最佳的查詢引擎,提高查詢的效率。

2.1 查詢引擎路由策略

在多維分析中,用戶輸入信息會被轉化為SQL語句,因此用戶輸入信息中需要包含SQL語句抽象語法樹的基本單元要素,在邏輯語法樹中的Aggregate、Filter、GroupBy、Table與用戶輸入形成相應的映射關系。同時在Kylin項目中也存在相應的概念,Kylin中可以使用多張數(shù)據表(Table)并選定計算維度(Dimension)和統(tǒng)計度量(Metric)構建不同的數(shù)據模型(Model),該模型只是邏輯模型,沒有進行真正執(zhí)行。在模型的基礎之上,我們再選取出部分維度和度量形成數(shù)據立方體(Cube),進行真正的統(tǒng)計計算。Kylin元數(shù)據中的Metric、Dimension、Cube和Model與SQL語句抽象語法樹基本要素以及用戶輸入存在對應關系,這為通過用戶輸入來統(tǒng)一判斷路由到Kylin、SparkSQL或HiveSQL提供了邏輯基礎。

Kylin中的數(shù)據立方體的元數(shù)據是由Metadata Manager模塊進行管理的,存儲在HBase之中,本文通過該模塊獲取元數(shù)據信息與用戶輸入進行匹配,匹配規(guī)則如下:

(1)用于計算的維度和度量全部包含于某個Kylin數(shù)據立方體的維度和度量之中,該查詢使用Kylin查詢。

(2)用于計算的維度和度量不全包含于任何一個Kylin數(shù)據立方體中,該查詢使用SparkSQL執(zhí)行具體的查詢計劃。

(3)如果進行的是明細查詢,根據數(shù)據存儲位置不同可能會使用SparkSQL或HiveSQL去執(zhí)行查詢計劃。

(4)Kylin查詢失敗,重新選擇到SparkSQL進行查詢。

2.2 統(tǒng)一SQL生成策略

多維查詢是用戶通過界面創(chuàng)建的,系統(tǒng)只能獲得用戶選擇的維度和度量等計算信息,所以系統(tǒng)需要提供自動生成SQL的功能。由于本系統(tǒng)會路由選擇多個查詢引擎去執(zhí)行SQL語句,不同引擎的對SQL語句語法、詞法解析驗證的細節(jié)不盡相同,因此我們設計實現(xiàn)一個統(tǒng)一的SQL生成策略生成不同的SQL以適配不同的執(zhí)行引擎。在基于文旅數(shù)據多維分析系統(tǒng)中,我們選取了SELECT語句來進行查詢計算,由于Spark SQL(Hive SQL)和Kylin SQL語法樹結構相同,因此按照常用的查詢需求和SQL語句語法樹結構我們將SELECT語句劃分成八個子句模塊。每個子句模塊可以根據用戶輸入和查詢100引擎類型生成相應的SQL語句片段,最后統(tǒng)一生成適配執(zhí)行引擎計算的SQL語句。

3 基于文旅多維數(shù)據分析系統(tǒng)設計與實現(xiàn)

本文基于Kylin、Spark、Hive等開源大數(shù)據組件,研究并實現(xiàn)一種開源的基于多場景文化旅游的大數(shù)據多維分析系統(tǒng),按照功能將系統(tǒng)劃分為五個子模塊,包括數(shù)據預處理子模塊、Kylin建模子模塊、圖表構建子模塊、圖表管理子模塊、駕駛艙管理子模塊。系統(tǒng)模塊圖如圖1所示。

圖1 大數(shù)據環(huán)境下的文旅多維數(shù)據分析系統(tǒng)模塊圖

3.1 構建數(shù)據預處理子模塊

由于數(shù)據來源比較廣泛,對于原始數(shù)據來說,還不能完全達到分析的要求,存在數(shù)據缺失,重復,錯誤等問題,在本模塊中提供豐富的數(shù)據清洗算子、數(shù)據集成算子以及統(tǒng)計分析算子完成數(shù)據處理的工作。

(1)數(shù)據清洗主要涉及到的操作包括去除重復值,忽略字段,填充空值,條件篩選,數(shù)據分段,記錄排序,類型轉換,新增序號列,字符替換,數(shù)值運算等;

(2)數(shù)據集成合并多源多表數(shù)據,包含的主要操作有多表關聯(lián),數(shù)據追加;

(3)統(tǒng)計分析,即初步統(tǒng)計數(shù)據特征,宏觀發(fā)現(xiàn)數(shù)據問題,如最大最小值計算,以便發(fā)現(xiàn)數(shù)據取值范圍,除此之外,該部分的原子操作還包括均值、方差、頻率統(tǒng)計、正態(tài)檢驗、相關系數(shù)矩陣等。

3.2 構建Kylin建模子模塊

本系統(tǒng)集成了Kylin建模模塊,可以通過添加配置完成Kylin集群建模頁面的集成。在本模塊中可以新建多個項目,每個項目可以建立多個Model,每個Model都是對事實表和多張維度表構建起來的多維統(tǒng)計邏輯模型。在Model之上根據經常組合使用的維度和度量構建出數(shù)據立方體(Cube),進行執(zhí)行計算。Cube的計算邏輯過程如下:

(1)根據Cube定義的事實表以及維度表,利用Hive創(chuàng)建一張寬表;

(2)抽取事實表上維度的distinct值,將事實表上的維度以字典樹方式壓縮編碼成目錄,將維度表以字典樹的方式編碼;

(3)利用125MapReduce從第一步得到的寬表文件作為輸入,創(chuàng)建N-Dimension cuboid,然后每次根據前一步的結果串行生成N-1cuboid,N-2cuboid…0-cuboid;

(4)根據生成的Cuboid數(shù)據量計算HTable的Region分割策略,創(chuàng)建HTable,將HFile導入進來。

根據本模塊集成的Kylin配置頁面進行數(shù)據建模,首先在創(chuàng)建和生成數(shù)據Cube之前,需要從Hive中導入表結構,其次選擇事實表、維度表以及其中的維度和度量創(chuàng)建數(shù)據模型,最后在模型基礎之上選擇執(zhí)行計算的維度和度量并設置優(yōu)化等,等待Cube計算結果,完成Cube創(chuàng)建。在優(yōu)化設置中可以設置強制維度(Mandatory dimension)和衍生維度(Derived dimension)來加速Cube的構建流程。

3.3 構建圖表構建子模塊

本模塊主要完成多維分析圖表的構建,用戶通過拖拽維度和度量進行多維分析,是整個基于多場景文化旅游大數(shù)據多維分析系統(tǒng)的核心部分。構建圖表構建子模塊包含計算引擎路由、統(tǒng)一SQL生成、計算引擎執(zhí)行器以及圖表生成五個部分:

(1)計算引擎路由是根據用戶選擇的數(shù)據表、數(shù)據維度和數(shù)據度量來選擇最為合適的底層計算引擎。

(2)統(tǒng)一SQL生成是為了適配不同的執(zhí)行引擎設計,并實現(xiàn)一個統(tǒng)一的SQL生成策略,使得根據計算引擎路由模塊的結果生成不同的SQL以便執(zhí)行。

(3)計算引擎執(zhí)行器主要是提供統(tǒng)一的計算引擎查詢入口。在本文基于多場景文化旅游的分析中,涉及到的執(zhí)行引擎有Spark、Kylin以及Hive,在本模塊中向上下模塊屏蔽了執(zhí)行引擎的差別,提供一個統(tǒng)一的SQL執(zhí)行與任務提交的接口,同時不同的計算引擎的執(zhí)行結果會用相同的數(shù)據結構存儲(List)返回,以便下游模塊使用。

(4)圖表生成,主要提供將數(shù)據轉化成圖表的功能。根據多維分析的維度和度量,轉化成適合前端展示的一維類圖表、二維類圖表或者多維類圖表。

3.4 構建圖表管理子模塊

構建圖表管理子模塊主要實現(xiàn)對用戶構建出來的圖表進行維護管理,主要包含了圖表修改以 及圖表刪除,圖表修改包括了圖表配置更新以及圖表切換。圖表配置更新包括圖表樣式修改,圖表聯(lián)動設置,圖表實時設置等;由于本系統(tǒng)支持的圖表類型比較多,因此舍棄效率為N:N的一對一轉換方案,而是根據舊圖表內容及其類型提取其中的數(shù) 據統(tǒng)一格式的中間數(shù)據,然后按照新圖表類型生成新圖表數(shù)據,借助統(tǒng)一格式的中間數(shù)據實現(xiàn)N:1:N復雜度圖表轉換。

3.5 構建駕駛艙管理子模塊

構建駕駛艙管理子模塊由多張圖表構成,通過自定義的拖拽方式可以自由組合圖表,包括指標卡,多維表格,地圖,標準圖表等多種樣式,不同圖表組合成的駕駛艙,有著近乎無數(shù)種排列組合,具有整體主題意義的駕駛艙可以令用戶從各個角度觀察數(shù)據的表現(xiàn)。主要包括了駕駛艙的新建、修改、刪除、以及實時駕駛艙和多圖聯(lián)動等功能。實時駕駛艙主要是實現(xiàn)當數(shù)據更新變化時,自動計算新的圖表數(shù)據并更新駕駛艙。本文中主要使用WebSocket完成前后端實時內容推送,根據WebSocket鏈接本模塊維護了一個實時駕駛艙列表,通過數(shù)據源監(jiān)控模塊監(jiān)控數(shù)據源的改變,當數(shù)據發(fā)生變化時,由駕駛艙對應的更新頻率配置觸發(fā)實時圖表的重新計算,其中涉及到的計算引擎執(zhí)行器模塊和圖表生成模塊已在上文圖表構建子模塊中設計實現(xiàn),計算完成后更新圖表,并通知駕駛艙頁面有數(shù)據更新成功,重新調用駕駛艙查詢接口,按照最新圖表重組駕駛艙呈現(xiàn)給用戶。

多圖聯(lián)動主要是實現(xiàn)當點擊一個圖表中某個數(shù)值時,其它聯(lián)動的圖表在該維度特定值的限定下重新計算圖表。由于本系統(tǒng)按照模塊化設計的準則,多圖聯(lián)動主要復用圖表構建子模塊功能,按照新的限定條件重啟構建流程,構建出來的新的圖表作為該駕駛艙的唯一副本,因此并不對其它駕駛艙和圖表展示產生任何影響。

4 結論

本文提出了一種可以自動適配Kylin、Spark、Hive多種查詢引擎的方案,支持通過用戶在界面上選擇的分析維度與度量,自動路由到最優(yōu)執(zhí)行引擎去查詢。同時實現(xiàn)了基于多場景文化旅游的大數(shù)據多維分析系統(tǒng),提供全生命周期的一站式數(shù)據服務,數(shù)據從數(shù)據接入經歷數(shù)據清洗、數(shù)據建模、數(shù)據分析到可視化呈現(xiàn),閉環(huán)涵蓋數(shù)據業(yè)務全流程。對大數(shù)據分析的普及與應用具有非常重要的現(xiàn)實意義。

猜你喜歡
引擎圖表用戶
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
雙周圖表
足球周刊(2016年14期)2016-11-02 10:54:56
雙周圖表
足球周刊(2016年15期)2016-11-02 10:54:16
雙周圖表
足球周刊(2016年10期)2016-10-08 18:30:55
圖表
世界博覽(2016年16期)2016-09-27 18:25:26
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發(fā)
主站蜘蛛池模板: 亚洲成人黄色网址| 亚洲人成影院在线观看| 91福利片| 中文无码伦av中文字幕| 亚洲大学生视频在线播放| 天堂va亚洲va欧美va国产 | 亚洲第一黄色网| 国产一区二区免费播放| 在线观看欧美精品二区| 91麻豆久久久| 欧美日韩专区| 热久久综合这里只有精品电影| 中文字幕人妻av一区二区| 久无码久无码av无码| 色丁丁毛片在线观看| 中国国产A一级毛片| 91蝌蚪视频在线观看| 5555国产在线观看| 亚洲成A人V欧美综合| 中文字幕一区二区人妻电影| 久久黄色小视频| 欧美人与牲动交a欧美精品| h网址在线观看| 亚洲美女AV免费一区| 成人在线综合| 日韩第九页| 麻豆AV网站免费进入| 欧美色视频网站| 国语少妇高潮| a毛片免费观看| 女人18毛片久久| 40岁成熟女人牲交片免费| 亚洲一区精品视频在线| 91精品在线视频观看| 亚洲综合色区在线播放2019| 一区二区自拍| 在线观看视频一区二区| 色成人亚洲| 美女无遮挡免费视频网站| 国产精品欧美亚洲韩国日本不卡| 欧美在线中文字幕| 亚洲不卡av中文在线| 99热精品久久| 国产精品手机在线播放| 毛片视频网址| 99热这里只有精品免费| 青青久久91| 日本草草视频在线观看| 日韩国产无码一区| 国产亚洲精品资源在线26u| 亚洲天堂视频在线观看免费| 亚洲人成日本在线观看| 嫩草影院在线观看精品视频| 国产剧情国内精品原创| 四虎影视库国产精品一区| 91福利片| 国产精品免费入口视频| 欧美人与动牲交a欧美精品| 欧美一级在线看| 亚洲bt欧美bt精品| 中文字幕亚洲第一| 日本爱爱精品一区二区| 久久精品一品道久久精品| 国产91熟女高潮一区二区| 国产黄色片在线看| 91精品啪在线观看国产91| 五月天香蕉视频国产亚| 国产又大又粗又猛又爽的视频| 精品国产免费第一区二区三区日韩| 亚洲swag精品自拍一区| 亚洲日韩Av中文字幕无码| 国产精品林美惠子在线观看| 在线播放国产99re| 亚洲成av人无码综合在线观看| 免费毛片网站在线观看| 欧美日在线观看| 免费毛片网站在线观看| 国产精品成人AⅤ在线一二三四| 欧美亚洲网| 国产丝袜一区二区三区视频免下载| 亚洲精品国产成人7777| 亚洲第一极品精品无码|