国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop的商業(yè)數(shù)據(jù)可視化分析模型的研究

2016-06-06 13:24胡琴琴
電腦知識(shí)與技術(shù) 2016年6期
關(guān)鍵詞:數(shù)據(jù)可視化分析模型電子商務(wù)

胡琴琴

摘要:信息科技時(shí)代,電子商務(wù)給人類(lèi)生活帶來(lái)極大便利的同時(shí)也產(chǎn)生了大量的商業(yè)數(shù)據(jù),如何存儲(chǔ)和管理這些數(shù)據(jù),挖掘其潛在價(jià)值已成為各大電商研究的重要方向;隨著數(shù)據(jù)量的爆炸性增長(zhǎng),傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)已無(wú)法滿足大規(guī)模數(shù)據(jù)的分析和可視化任務(wù),該文在研究了HDFS的分布式文件存儲(chǔ)以及MapReduce的并行化計(jì)算的基礎(chǔ)上,提出了基于Hadoop平臺(tái)構(gòu)建商業(yè)數(shù)據(jù)可視化分析模型的系統(tǒng)方案。通過(guò)搭建Hadoop平臺(tái),建立Hive數(shù)據(jù)庫(kù),構(gòu)造分析模型,可視化分析結(jié)果展示,研究了Hadoop云平臺(tái)的搭建過(guò)程,實(shí)現(xiàn)了Hadoop環(huán)境下基于Hive數(shù)據(jù)庫(kù)的離線數(shù)據(jù)分析和數(shù)據(jù)可視化。

關(guān)鍵詞:數(shù)據(jù)可視化;電子商務(wù);Hadoop;Hive;分析模型

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)06-0003-04

1 概述

當(dāng)今信息時(shí)代,形式各異的信息載體如移動(dòng)智能設(shè)備、電子商務(wù)網(wǎng)站等,幾乎每時(shí)每刻都在產(chǎn)生并傳遞大量商業(yè)數(shù)據(jù),數(shù)據(jù)的背后隱藏著信息,而信息之中蘊(yùn)含著知識(shí)和智慧,及時(shí)地發(fā)現(xiàn)這些知識(shí)并將其應(yīng)用于現(xiàn)實(shí)的生產(chǎn)環(huán)境中可以為人們正確分析形勢(shì)和作出決策提供依據(jù)。數(shù)據(jù)可視化是從大型數(shù)據(jù)集中以某種概要形式抽提信息,并將其以圖形圖像的形式表達(dá)呈現(xiàn),是數(shù)據(jù)的一種視覺(jué)表現(xiàn)形式。在商業(yè)智能中,決策者通常需要根據(jù)歷史數(shù)據(jù)總結(jié)出經(jīng)驗(yàn)教訓(xùn),以便在未來(lái)競(jìng)爭(zhēng)中處于有利地位。但是人工地從紛繁復(fù)雜的數(shù)據(jù)中抽取關(guān)鍵信息是一件費(fèi)力費(fèi)時(shí)的工作,相對(duì)于從一堆數(shù)據(jù)中去抽取和抽象出具體信息而言,人類(lèi)更善于處理圖形化的信息,通常能夠一眼洞悉圖片中所傳達(dá)的信息,因此數(shù)據(jù)可視化技術(shù)是商業(yè)數(shù)據(jù)分析的不可或缺的一部分。

目前,國(guó)內(nèi)已有傳統(tǒng)電子商務(wù)系統(tǒng)的建設(shè)大多采用價(jià)格昂貴的大型服務(wù)器,數(shù)據(jù)庫(kù)采用關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),隨著云計(jì)算的發(fā)展和互聯(lián)網(wǎng)+時(shí)代的到來(lái),數(shù)據(jù)呈爆炸式增長(zhǎng),傳統(tǒng)的單臺(tái)主機(jī)在計(jì)算與存儲(chǔ)方面也越來(lái)越不能滿足數(shù)據(jù)分析處理的需求[4]。由此產(chǎn)生了Hadoop平臺(tái)技術(shù),該平臺(tái)技術(shù)包括兩大核心設(shè)計(jì):分布式文件系統(tǒng)HDFS(Hadoop Distributed File System)和并行計(jì)算框架MapReduce。HDFS設(shè)計(jì)部署在廉價(jià)的硬件上,成本低且具有高容錯(cuò)性,為海量數(shù)據(jù)提供存儲(chǔ),MapReduce為海量數(shù)據(jù)提供并行計(jì)算。作為一個(gè)開(kāi)源大數(shù)據(jù)處理平臺(tái),在業(yè)界已得到廣泛的研究與應(yīng)用,各大知名企業(yè)也大都在各自核心領(lǐng)域運(yùn)用了此技術(shù)。國(guó)外著名社交網(wǎng)站Facebook運(yùn)用Hadoop技術(shù)構(gòu)建了整個(gè)網(wǎng)站的數(shù)據(jù)倉(cāng)庫(kù),國(guó)內(nèi)騰訊、百度和阿里巴巴等互聯(lián)網(wǎng)知名企業(yè)也都采用了Hadoop技術(shù)用于海量數(shù)據(jù)處理分析??梢?jiàn),研究并使用Hadoop技術(shù)解決商業(yè)數(shù)據(jù)的可視化,具有十分重要的意義,本文提出了一種基于Hadoop平臺(tái)實(shí)現(xiàn)商業(yè)數(shù)據(jù)可視化的解決方案并論證其可行性。

2 相關(guān)研究

2.1 Hadoop相關(guān)技術(shù)

Hadoop有狹義和廣義之分,狹義的Hadoop通常是指HadoopCore,其包括最底層的分布式文件系統(tǒng)HDFS和并行運(yùn)算框架MapReduce引擎。廣義的Hadoop 通常泛指Hadoop生態(tài)系統(tǒng)(HadoopEcosystem),其范疇更廣,除了Hadoop本身(HDFS+MapReduce),還包含HBase、Hive、Pig、Sqoop、Mahout和Zookeeper等其他開(kāi)源工具。

1)HDFS框架

HDFS[1]存儲(chǔ)Hadoop集群中所有存儲(chǔ)節(jié)點(diǎn)上的文件,主要包含兩個(gè)功能組件NameNode和DataNode。NameNode管理文件系統(tǒng)的命名空間,存儲(chǔ)文件的元數(shù)據(jù)信息,并維護(hù)文件系統(tǒng)樹(shù)。DataNode存儲(chǔ)文件的數(shù)據(jù)塊信息,定期向NameNode發(fā)送其所存儲(chǔ)的塊列表信息。

2)MapReduce框架

MapReduce[1]是Hadoop下的分布式數(shù)據(jù)處理模型,主要由JobTracker和TaskTracker組成。Hadoop將作業(yè)分成若干個(gè)map任務(wù)和reduce任務(wù)來(lái)執(zhí)行,JobTracker是任務(wù)調(diào)度器,通過(guò)調(diào)度TaskTracker上運(yùn)行的map或reduce任務(wù),來(lái)協(xié)調(diào)系統(tǒng)作業(yè)。TaskTracker是任務(wù)跟蹤器,向JobTracker報(bào)告其任務(wù)執(zhí)行情況。

3)Hive數(shù)據(jù)倉(cāng)庫(kù)

Hive是基于Hadoop的一個(gè)分布式數(shù)據(jù)倉(cāng)庫(kù)工具,其數(shù)據(jù)存儲(chǔ)在HDFS上,可以將結(jié)構(gòu)化數(shù)據(jù)文件映射成一張數(shù)據(jù)庫(kù)表,并提供基于SQL的查詢語(yǔ)言(由運(yùn)行時(shí)自動(dòng)翻譯成MapReduce作業(yè))用以查詢數(shù)據(jù)。

4)HBase數(shù)據(jù)庫(kù)

HBase是一個(gè)分布式的、面向列的非關(guān)系型數(shù)據(jù)庫(kù),通過(guò)Hadoop文件系統(tǒng)API來(lái)持久化存儲(chǔ)數(shù)據(jù),所有數(shù)據(jù)都存儲(chǔ)在HDFS上,支持MapReduce的批量式計(jì)算和海量數(shù)據(jù)的實(shí)時(shí)隨機(jī)查詢。

2.2 數(shù)據(jù)可視化技術(shù)

當(dāng)前主流的數(shù)據(jù)可視化形式有云圖、平行坐標(biāo)圖、矩陣圖、直角坐標(biāo)圖、散點(diǎn)圖等[5]。每種可視化方式都不是完美的,選擇恰當(dāng)?shù)目梢暬椒?,集中展現(xiàn)數(shù)據(jù)的某個(gè)角度,幫助我們分析洞察數(shù)據(jù),轉(zhuǎn)換為決策才是最重要的。

可視化圖形由主區(qū)、圖元、圖例、圖文說(shuō)明等基本要素組成[8],其中主區(qū)是用于繪制可視化圖形的區(qū)域畫(huà)板,通常是一個(gè)長(zhǎng)度和寬度確定的矩形,用于確定在屏幕的具體區(qū)域繪制可視化圖形。不同類(lèi)型的可視化形式在可視化基本要素的組織方式和內(nèi)容上有所不同,例如條形圖和地圖,條形圖以直角坐標(biāo)系為基準(zhǔn),通常以縱軸條形的長(zhǎng)度表示各類(lèi)別的度量值,以橫軸條形的寬度(通常是等長(zhǎng))表示類(lèi)別,而地圖以地理地圖為基準(zhǔn),通過(guò)色彩比重來(lái)顯示各個(gè)行政分區(qū)的度量值。這表明我們?cè)谶M(jìn)行可視化的時(shí)候需要對(duì)數(shù)據(jù)進(jìn)行不同的組織變換,而通常同主題的可視化的展現(xiàn)形式基本相同,例如用條形圖展示不同類(lèi)別的商品的銷(xiāo)售額、銷(xiāo)售量等,這就意味著可以將條形圖的一些基本要素抽象出來(lái),以數(shù)值的形式組合起來(lái)構(gòu)成一個(gè)可視化分析模型,每次重用此模型即可而不用每次可視化都進(jìn)行一次數(shù)據(jù)重組。本文研究的是如何將同一類(lèi)型的可視化組織起來(lái)形成一個(gè)主題模型,針對(duì)于這個(gè)主題的可視化,都可以通過(guò)此模型方便地構(gòu)建可視化形式。

3 基于Hadoop的商業(yè)數(shù)據(jù)可視化分析模型

本研究以Hadoop云計(jì)算平臺(tái)為基礎(chǔ),提出了基于Hadoop平臺(tái)構(gòu)建商業(yè)數(shù)據(jù)可視化分析模型的方案,技術(shù)方案如圖1所示。原始業(yè)務(wù)數(shù)據(jù)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中,首先需要將數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫(kù)集成到Hadoop的HDFS存儲(chǔ)上,然后建立Hive數(shù)據(jù)庫(kù),將數(shù)據(jù)加載進(jìn)Hive中,通過(guò)HiveQL語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行查詢分析,將查詢的結(jié)果存入HBase數(shù)據(jù)庫(kù)中,將相應(yīng)的查詢結(jié)果與已有的可視化參考模型結(jié)合,構(gòu)造可視化分析模型,將模型以固定形式存儲(chǔ)在HBase中,然后通過(guò)highChart、echarts等可視化插件對(duì)分析模型進(jìn)行圖形可視化。

3.1 數(shù)據(jù)集成

首先從原始企業(yè)數(shù)據(jù)庫(kù)中抽取出需要的業(yè)務(wù)數(shù)據(jù)存入到Hadoop的HDFS文件系統(tǒng)中,具體分為兩個(gè)階段,第一階段初始數(shù)據(jù)全量導(dǎo)入,第二階段數(shù)據(jù)增量導(dǎo)入。實(shí)驗(yàn)中采用Sqoop技術(shù)實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入,Sqoop是Hadoop生態(tài)系統(tǒng)的一員,主要用于Hadoop與關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)傳遞,可以通過(guò)Hadoop的MapReduce將關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)導(dǎo)入到Hadoop的HDFS中,也可以將HDFS中的數(shù)據(jù)導(dǎo)入到關(guān)系型數(shù)據(jù)庫(kù)中[2]。具體的使用如圖2所示

圖2中已標(biāo)注的是服務(wù)器的路由信息,未標(biāo)注的參數(shù)--table是指定數(shù)據(jù)表名稱,--columns指定導(dǎo)入指定表的哪些字段,--target-dir是指定數(shù)據(jù)的HDFS文件存儲(chǔ)路徑。

在進(jìn)行第一階段的全量導(dǎo)入時(shí),一次性導(dǎo)入所需的所有數(shù)據(jù),由于商業(yè)數(shù)據(jù)每日數(shù)據(jù)都有更新,所以需要第二階段的增量導(dǎo)入。考慮到HDFS不支持隨機(jī)修改和刪除數(shù)據(jù),只能在文件末尾追加,需要分情況處理待更新數(shù)據(jù),本文中將數(shù)據(jù)劃為兩類(lèi),一類(lèi)是一些用于表示實(shí)體屬性或狀態(tài)的數(shù)據(jù),如商品類(lèi)別表、公司表等,此類(lèi)數(shù)據(jù)具有數(shù)據(jù)量小,更新頻率低的特點(diǎn),但有修改刪除等操作。一類(lèi)是基礎(chǔ)業(yè)務(wù)數(shù)據(jù),如訂單表和訂單詳情表等,此類(lèi)數(shù)據(jù)新增頻繁,但無(wú)修改刪除操作。第一類(lèi)數(shù)據(jù)的更新策略,先刪除HDFS上的此類(lèi)數(shù)據(jù),然后通過(guò)圖2中的Sqoop import命令導(dǎo)入此類(lèi)數(shù)據(jù)經(jīng)過(guò)修改后的數(shù)據(jù)。第二類(lèi)數(shù)據(jù)的更新策略是直接使用Sqoop import --append命令導(dǎo)入新增部分的數(shù)據(jù),如圖3所示,圖中標(biāo)注的--append表追加,不可省略,標(biāo)注的where是SQL查詢語(yǔ)句中的條件查詢。數(shù)據(jù)需每日更新,實(shí)驗(yàn)中采用linux系統(tǒng)自帶的定時(shí)任務(wù)crontab每日定時(shí)執(zhí)行數(shù)據(jù)導(dǎo)入程序。

3.2 數(shù)據(jù)轉(zhuǎn)換存儲(chǔ)

數(shù)據(jù)通過(guò)Sqoop完成數(shù)據(jù)導(dǎo)入以后,為了保證數(shù)據(jù)的質(zhì)量和可用性,需要對(duì)數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換存儲(chǔ)。在實(shí)際操作中,通常會(huì)進(jìn)行兩種轉(zhuǎn)換,字段組合和字段拆分。

字段組合:各個(gè)企業(yè)數(shù)據(jù)之間是相互獨(dú)立的,集中到同一平臺(tái)時(shí)可能會(huì)有關(guān)鍵數(shù)據(jù)沖突問(wèn)題,解決策略通過(guò)建立臨時(shí)的Hive表,將數(shù)據(jù)加載到臨時(shí)表中,再通過(guò)HiveQL(Hive Query Language)語(yǔ)句重組關(guān)鍵字段,保證其唯一性和正確性。

字段拆分:業(yè)務(wù)數(shù)據(jù)中的時(shí)間屬性是一個(gè)完整的時(shí)間信息,為了提高查詢效率,通常將數(shù)據(jù)的時(shí)間字段拆分成單獨(dú)的年月日,使數(shù)據(jù)在Hive中按照時(shí)間分區(qū)存儲(chǔ)。解決策略是通過(guò)建立臨時(shí)的Hive表和最終的分區(qū)表,將數(shù)據(jù)加載到臨時(shí)表中,再通過(guò)HiveQL語(yǔ)句拆分?jǐn)?shù)據(jù)的時(shí)間字段并插入到分區(qū)表中。其中建立分區(qū)表使用的命令見(jiàn)圖4,數(shù)據(jù)分區(qū)存儲(chǔ)使用的命令如圖5所示:

3.3 數(shù)據(jù)分析與模型建立

數(shù)據(jù)進(jìn)入Hive數(shù)據(jù)庫(kù)以后,結(jié)合實(shí)際業(yè)務(wù)需求,設(shè)計(jì)可視化分析主題,通過(guò)HiveQL語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行分析,從Hive數(shù)據(jù)庫(kù)中查詢相關(guān)的數(shù)據(jù),記錄查詢結(jié)果,然后構(gòu)建可視化分析模型,將模型結(jié)果存入Hbase數(shù)據(jù)庫(kù)中??梢暬黝}分析就是在分析商業(yè)數(shù)據(jù)類(lèi)型、存儲(chǔ)結(jié)構(gòu)的基礎(chǔ)上對(duì)具有可視化意義的主題概念進(jìn)行提煉和取舍的過(guò)程。

數(shù)據(jù)可視化在響應(yīng)的速度方面具有很高的要求,本文研究采用Hbase存儲(chǔ)HiveQL查詢結(jié)果和可視化分析模型。Hbase是一個(gè)列式數(shù)據(jù)庫(kù),僅支持行鍵檢索數(shù)據(jù),所以對(duì)行鍵的設(shè)計(jì)至關(guān)重要。

本文對(duì)行鍵的設(shè)計(jì)采用兩類(lèi)設(shè)計(jì)標(biāo)準(zhǔn),如圖6所示,第一類(lèi)采用“分析主題+生成時(shí)間”的形式,分析主題是每類(lèi)HiveQL查詢?cè)O(shè)計(jì)的類(lèi)別名,用于區(qū)分統(tǒng)計(jì)分析結(jié)果;生成時(shí)間采用“yyyyMMdd”的形式,用于標(biāo)識(shí)統(tǒng)計(jì)分析結(jié)果的生成時(shí)間。其對(duì)應(yīng)一個(gè)列族,但有多個(gè)列,且列數(shù)不固定,列中主要是用于存放成員屬性集和分析模型。成員屬性是每類(lèi)查詢結(jié)果中能夠唯一標(biāo)識(shí)一條查詢記錄的屬性值。分析模型是該類(lèi)查詢結(jié)果集針對(duì)于某種可視化形式的數(shù)據(jù)存儲(chǔ)模型。分析模型的建立是以現(xiàn)有可視化圖形為依據(jù),抽象出其圖形化屬性,將其數(shù)值化,然后以json字符串的形式存入HBase中。例如圖7中針對(duì)于地域維度的銷(xiāo)售分析,將areaSale設(shè)置為分析主題類(lèi)別名,第一行采用的是第一類(lèi)行鍵設(shè)計(jì),content是列族名稱,allproperty列存儲(chǔ)的是成員屬性值集合,salepie列存儲(chǔ)的是針對(duì)于銷(xiāo)售額分析的餅圖模型。

第二類(lèi)行鍵設(shè)計(jì)采用“分析主題+成員屬性+生成時(shí)間”的形式,其與第一類(lèi)擁有相同的列族,但不同列,每列存儲(chǔ)查詢結(jié)果的屬性值。例如圖中salequatity列表示銷(xiāo)售量,sale表示銷(xiāo)售額,buyerquatity表示買(mǎi)家數(shù)量,sellerquatity表示買(mǎi)家數(shù)量。

4 實(shí)驗(yàn)方案

4.1 Hadoop集群配置

本研究利用實(shí)驗(yàn)室提供的計(jì)算機(jī)網(wǎng)絡(luò)中心搭建Hadoop云計(jì)算平臺(tái),具體的參數(shù)如下:

Hadoop集群:1個(gè)Master節(jié)點(diǎn),3個(gè)slave節(jié)點(diǎn)

硬件配置:4G內(nèi)存,100G硬盤(pán)

系統(tǒng)版本:Centos 6.4

軟件版本:Hadoop-1.2.1,HBase-0.98.12,Hive-1.1.0,Zookeeper-3.4.6,Sqoop-1.4.6

4.2 實(shí)驗(yàn)驗(yàn)證

1)數(shù)據(jù)來(lái)源

本文以電子商務(wù)領(lǐng)域中的具體應(yīng)用(面向小微企業(yè)的進(jìn)銷(xiāo)存管理平臺(tái))為實(shí)例來(lái)驗(yàn)證本文提出的可視化分析模型。平臺(tái)系統(tǒng)的系統(tǒng)架構(gòu)如圖8所示,此系統(tǒng)采用分布式數(shù)據(jù)庫(kù),由一臺(tái)路由服務(wù)器和若干臺(tái)數(shù)據(jù)庫(kù)服務(wù)器組成,企業(yè)需要通過(guò)路由服務(wù)器查找到其數(shù)據(jù)所在的數(shù)據(jù)庫(kù)服務(wù)器才能進(jìn)行訪問(wèn)。數(shù)據(jù)庫(kù)采用oracle,每臺(tái)數(shù)據(jù)庫(kù)服務(wù)器對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)實(shí)例,每個(gè)數(shù)據(jù)庫(kù)示例對(duì)應(yīng)多個(gè)表空間。目前平臺(tái)中企業(yè)可分為獨(dú)立企業(yè)和連鎖企業(yè)兩種,獨(dú)立企業(yè)擁有獨(dú)立的表空間,連鎖企業(yè)共同擁有獨(dú)立表空間。整個(gè)平臺(tái)最多擁有個(gè)企業(yè),每個(gè)企業(yè)每日最多生成[103]個(gè)訂單,即整個(gè)平臺(tái)每日最多生成[109]條訂單記錄。目前一個(gè)企業(yè)有70余張數(shù)據(jù)表,隨著業(yè)務(wù)的增加,數(shù)據(jù)表的數(shù)量也可能增加。本文研究的可視化模型是基于平臺(tái)所有企業(yè)的相關(guān)業(yè)務(wù)數(shù)據(jù)建立,由于采用的是分布式系統(tǒng),數(shù)據(jù)分散在不同的數(shù)據(jù)庫(kù)服務(wù)器上,首先需要進(jìn)行數(shù)據(jù)集成,把分散的企業(yè)數(shù)據(jù)從分布式數(shù)據(jù)庫(kù)系統(tǒng)集成到Hadoop平臺(tái),然后對(duì)整體數(shù)據(jù)進(jìn)行可視化分析建模。

2)實(shí)驗(yàn)分析

本文在存儲(chǔ)數(shù)據(jù)分析的結(jié)果和數(shù)據(jù)可視化模型時(shí)采用的是HBase數(shù)據(jù)庫(kù),由于數(shù)據(jù)可視化在響應(yīng)速度方面具有較高要求,所以對(duì)HBase在查詢性能方面做了實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如圖9所示,圖中統(tǒng)計(jì)了在不同數(shù)據(jù)量下,五次查詢用時(shí)以及平均用時(shí)。

結(jié)論:首次查詢需要建立客戶端與集群的連接,需要較長(zhǎng)時(shí)間,具體時(shí)間的長(zhǎng)短受網(wǎng)絡(luò)擁塞狀況、集群運(yùn)行狀態(tài)等多方面因素影響。連接建立后查詢時(shí)間基本穩(wěn)定在毫秒級(jí),實(shí)驗(yàn)測(cè)試的結(jié)果顯示Hbase能滿足這方面的要求。

3)實(shí)驗(yàn)結(jié)果

以銷(xiāo)售分析為例,可以從商品類(lèi)別、時(shí)間、地點(diǎn)三個(gè)維度出發(fā),分析商品的銷(xiāo)售量、銷(xiāo)售額、買(mǎi)家數(shù)量和賣(mài)家數(shù)量,為經(jīng)營(yíng)者進(jìn)行銷(xiāo)售歷史統(tǒng)計(jì)和未來(lái)業(yè)務(wù)調(diào)整提供決策支持。例如,從地域維度進(jìn)行分析,統(tǒng)計(jì)商品的銷(xiāo)售量、銷(xiāo)售額、買(mǎi)家數(shù)量和賣(mài)家數(shù)量,設(shè)計(jì)的HiveQL語(yǔ)句為:

select p.province_name as provinceName,sum(soi.count) as saleQuantity,sum(so.account_payable) as sale,count(distinct so.customer_code) as buyerQuantity,count(distinct so.company_code) as sellerQuantity

from sale_order so

join sale_order_item soi on so.order_code=soi.order_code join customer c on so.customer_code = c.customer_code join province p on c.province_id=p.province_id group by p.province_name;

以中國(guó)地圖的形式構(gòu)建其分析模型mapmodel,Java代碼如下:

//從HBase中讀取數(shù)據(jù)分析結(jié)果集

StringTokenizer tokenizer = new StringTokenizer(allproperty, "*");

while (tokenizer.hasMoreElements()) {

//數(shù)據(jù)轉(zhuǎn)換與重組

String name = (String) tokenizer.nextElement();

String svalue = HbaseTest.get(tablename, model + name + today, columnFamily, target);

double dvalue = Math.round(Double.parseDouble(String.format(svalue, "0.f")));

if (dvalue > maxValue) {

maxValue = dvalue;}

content += ",{\"name\":\"" + name + "\",\"value\":" + dvalue + "}";}

//構(gòu)建分析模型

mapmodel = "{\"title\":{\"subtext\":\"數(shù)據(jù)更新于" + today + "\"},\"dataRange\":{\"max\":" + Math.round(maxValue)+ "},\"series\":{\"data\":[" + content.substring(1) + "]}}";

//結(jié)果寫(xiě)入HBase數(shù)據(jù)庫(kù)

HbaseTest.put(tablename, model + today, columnFamily, "map" + target, mapmodel);

圖形可視化采用的是百度的echarts插件,首先從HBase中讀取已建立的分析模型數(shù)據(jù),前臺(tái)通過(guò)js進(jìn)行數(shù)據(jù)解析,然后由echarts實(shí)現(xiàn)畫(huà)圖和渲染,最后的可視化圖形如圖10所示。

5 結(jié)束語(yǔ)

本文提出了基于Hadoop平臺(tái)構(gòu)建商業(yè)數(shù)據(jù)可視化分析模型的設(shè)計(jì)方案,通過(guò)對(duì)商業(yè)數(shù)據(jù)特性的分析和數(shù)據(jù)可視化技術(shù)的研究,將數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫(kù)集成到Hadoop平臺(tái),使用統(tǒng)計(jì)分析等方法對(duì)數(shù)據(jù)進(jìn)行處理和分析,重點(diǎn)介紹了數(shù)據(jù)分析、分析模型的建立及其存儲(chǔ),并在特定的應(yīng)用背景下實(shí)現(xiàn)和驗(yàn)證了所提出的商業(yè)數(shù)據(jù)可視化分析模型建立的可行性。

參考文獻(xiàn):

[1] 劉文峰, 顧君忠, 林欣, 等. 基于Hadoop和Mahout的大數(shù)據(jù)管理分析系統(tǒng)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2015, 32(1).

[2] 戴中華, 盛鴻彬, 王麗莉. 基于Hadoop平臺(tái)的大數(shù)據(jù)分析與處理與處理[J]. 通訊世界, 2015(6).

[3] 孟志青, 段智華. 商業(yè)銷(xiāo)售分析數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)可視化的一種設(shè)計(jì)[J]. 計(jì)算機(jī)工程與應(yīng)用, 2000, 36(10).

[4] 諶頏. 基于Hadoop的標(biāo)簽推薦系統(tǒng)設(shè)計(jì)[J]. 應(yīng)用技術(shù)與研究, 2015(7).

[5] 劉勘, 周曉崢, 周洞汝. 數(shù)據(jù)可視化的研究與發(fā)展[J]. 計(jì)算機(jī)工程, 2002,28(8).

[6] 李偉, 張爽, 康建東,等. 基于hadoop的電網(wǎng)大數(shù)據(jù)處理探究[J]. 電子測(cè)試, 2014(1).

[7] 黃輝, 陸利忠, 閆鑌, 等. 三維可視化技術(shù)研究[J]. 信息工程大學(xué)學(xué)報(bào), 2010, 11(2).

[8] 梁辰, 徐健. 社會(huì)網(wǎng)絡(luò)可視化的技術(shù)方法與工具研究[J]. 現(xiàn)代圖書(shū)情報(bào)技術(shù), 2012(5).

猜你喜歡
數(shù)據(jù)可視化分析模型電子商務(wù)
基于BERT-VGG16的多模態(tài)情感分析模型
《電子商務(wù)法》如何助力直銷(xiāo)
電子商務(wù)
可視化:新媒體語(yǔ)境下的數(shù)據(jù)、敘事與設(shè)計(jì)研究
我國(guó)數(shù)據(jù)新聞的發(fā)展困境與策略研究
層次分析模型在結(jié)核疾病預(yù)防控制系統(tǒng)中的應(yīng)用
關(guān)于加快制定電子商務(wù)法的議案
全啟發(fā)式語(yǔ)言分析模型
IFC4結(jié)構(gòu)分析模型應(yīng)用技術(shù)