曹鵬



摘要:本文介紹了大數(shù)據(jù)技術(shù)在電信用戶信息分析中的使用,闡述了電信大數(shù)據(jù)可視化的重要意義;分析和討論了電信用戶信息大數(shù)據(jù)分析的可視化研究方法,研究電信用戶大數(shù)據(jù)的行為結(jié)果進(jìn)行分析預(yù)測,進(jìn)而對其結(jié)果進(jìn)行可視化展示,嘗試討論大數(shù)據(jù)分析可視化技術(shù)的個(gè)性化趨勢。
關(guān)鍵詞:電信用戶信息;大數(shù)據(jù);Spark;SpringMVC;可視化
中圖分類號:TP39 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)33-0253-02
大數(shù)據(jù)技術(shù)日益在生產(chǎn)過程中起到很重要的作用。使用大數(shù)據(jù)技術(shù)對電信用戶的信息進(jìn)行分析,對用戶的信息進(jìn)行預(yù)測以期達(dá)到更好地為用戶服務(wù)的目的。大數(shù)據(jù)分析中一個(gè)非常關(guān)鍵的環(huán)節(jié)就是如何獲取友好的數(shù)據(jù)特征顯示。大數(shù)據(jù)可視化已經(jīng)成為大數(shù)據(jù)分析結(jié)果展示的重點(diǎn)研究內(nèi)容。本文采用Spring、Spring MVC和MyBatis三者組合框架對電信用戶大數(shù)據(jù)分析后的結(jié)果進(jìn)行可視化展現(xiàn)。首先介紹MVC模型,然后再介紹Spring MVC框架和MyBafis,通過網(wǎng)頁應(yīng)用對其用戶信息分析結(jié)果進(jìn)行可視化實(shí)現(xiàn)。
1基于Spring MVC框架的電信用戶大數(shù)據(jù)分析過程
本文大數(shù)據(jù)分析采用linux開源操作系統(tǒng)Ubuntu,構(gòu)建以Hadoop平臺為大數(shù)據(jù)開發(fā)環(huán)境。該平臺使用基于內(nèi)存計(jì)算的Spark分布式計(jì)算框架技術(shù);分析語言使用scala進(jìn)行編程實(shí)現(xiàn)。數(shù)據(jù)分析的過程分為三個(gè)階段,第一階段,將需研究的數(shù)據(jù)上傳到分布式數(shù)據(jù)庫HDFS中;第二階段,使用Scala編寫spark程序,對HDFS中的數(shù)據(jù)進(jìn)行分析;接下來,把分析的結(jié)果存人本地?cái)?shù)據(jù)庫MySQL數(shù)據(jù)庫中;第三階段,使用SpringMVC模型對MySQL中的數(shù)據(jù)進(jìn)行可視化呈現(xiàn)。其過程如圖1所示。
2Spring MVC框架原理
2.1Spring MVC框架中頁面的“請求一響應(yīng)”模型
該模型是用戶在訪問一個(gè)網(wǎng)址時(shí),客戶端與服務(wù)器端的交互過程,主要分為兩個(gè)階段,即,請求階段:客戶端用戶在地址欄中輸入一個(gè)網(wǎng)址,此時(shí)客戶端向服務(wù)器提出一個(gè)請求;響應(yīng)階段:服務(wù)器接收來自瀏覽器用戶的訪問請求,產(chǎn)生響應(yīng)并進(jìn)行渲染推送給客戶端。該模型的請求響應(yīng)過程見圖2所示。
2.2Spring MVC框架下的View-Model處理過程
Spring MVC框架是一個(gè)“前端控制器”模型設(shè)計(jì)的網(wǎng)頁框架,它基于請求驅(qū)動(dòng)并根據(jù)“請求映射規(guī)則”把相應(yīng)頁面控制器進(jìn)行處理,其流程分為四個(gè)步驟,1.客戶發(fā)送請求到“前端控制器”;2.頁面控制器收到請求進(jìn)行處理;3.“前端控制器”回收其控制權(quán),根據(jù)返回指定的邏輯視圖進(jìn)行渲染;4.“前端控制器”可循環(huán)回收控制器,不斷將響應(yīng)返回給客戶。
2.3 MyBatis持久層框架
MyBatis是一個(gè)持久層框架,它使用簡單的XML或注解配置環(huán)境信息對定制化的SQL、高級映射及存儲過程等進(jìn)行支持。其工作原理是1)加載配置信息,將SQL配置信息加載為MappedStatment對象保存到內(nèi)存;21SQL解析,接收接口層API請求,根據(jù)不同SQL的ID查找到對應(yīng)的MappedStatement進(jìn)行解析并得到需要執(zhí)行的SQL語句與參數(shù);3)SQL執(zhí)行,將SQL語句及參數(shù)傳回?cái)?shù)據(jù)庫,執(zhí)行解析后得到分析結(jié)果;4)映射結(jié)果,將分析結(jié)果轉(zhuǎn)換為需要的數(shù)據(jù)類型,如HashMap,JavaBean等,并返回其結(jié)果。
3Spark平臺下數(shù)據(jù)處理過程
Spark平臺下數(shù)據(jù)處理過程包括采集電信數(shù)據(jù)集合并上傳,然后在Spark平臺下進(jìn)行數(shù)據(jù)分析,最后把分析結(jié)果下載到本地?cái)?shù)據(jù)庫。需要注意的是在啟動(dòng)Spark環(huán)境之前需要先啟動(dòng)分布式平臺Hadoop,具體啟動(dòng)過程是:
3.1數(shù)據(jù)上傳
數(shù)據(jù)上傳需要將數(shù)據(jù)從本地環(huán)境上傳到分布式系統(tǒng)環(huán)境HDFS中去,該過程先在HDFS中創(chuàng)建一個(gè)dianxi_data目錄,然后使用終端命令將分析數(shù)據(jù)上傳。它分為兩步,第一步在分布式系統(tǒng)hdfs上創(chuàng)建目錄,第二步把本地文件上傳到hdfs,具體命令如下:
3.2 Spark數(shù)據(jù)分析
數(shù)據(jù)上傳后,使用Spark平臺進(jìn)行數(shù)據(jù)分析。其過程是從分布式數(shù)據(jù)庫HDABSE中讀取數(shù)據(jù),然后使用scala語言工具進(jìn)行數(shù)據(jù)的清洗與處理,最后把處理后的數(shù)據(jù)存儲到MySQL本地?cái)?shù)據(jù)庫中。
4使用Spring MVC框架進(jìn)行信息可視化分析
Spark平臺下分析出來的數(shù)據(jù)結(jié)果存放到本地?cái)?shù)據(jù)庫中,然后使用Spring MVC、MyBatis等框架結(jié)合可視化環(huán)境ECharts編寫應(yīng)用層程序,把分析結(jié)果以圖表的形式展示在網(wǎng)頁中。其主要過程包括創(chuàng)建項(xiàng)目、文件配置、設(shè)置項(xiàng)目目錄、編寫代碼及生成jar包等;最后通過網(wǎng)頁服務(wù)器Tomcat分布到網(wǎng)頁中。本文項(xiàng)目使用IntelliJIDEA開發(fā),項(xiàng)目架構(gòu)如圖3所示。
4.1結(jié)果信息可視化分析步驟
設(shè)置好項(xiàng)目文件,然后對pom.xml文件進(jìn)行配置。其中,主要配置內(nèi)容有Spring、Mybatis、MySQL驅(qū)動(dòng)連接、可視化組件echarts、json文件等。最后把分析結(jié)果在部署到tomcat服務(wù)器,實(shí)現(xiàn)數(shù)據(jù)分析結(jié)果的可視化呈現(xiàn)。
4.2使用Echats實(shí)現(xiàn)可視化結(jié)果
本文分析了徐州電信公司下轄的云龍區(qū)、鼓樓區(qū)、銅山區(qū)等三個(gè)區(qū)的信電用戶在某一時(shí)間段進(jìn)行辦理上網(wǎng)情況的對比。有兩種辦理模式,一種是到電信營業(yè)網(wǎng)點(diǎn)辦理上網(wǎng),第二種是使用手機(jī)自主辦理。圖中對大數(shù)據(jù)信息的分析結(jié)果進(jìn)行了很直觀地顯示。如圖4所示。
下面是對電信用戶辦理的套餐業(yè)務(wù)情況統(tǒng)計(jì)。電信設(shè)置了天翼大流量套餐、天翼暢想套餐、天翼暢享20G/40G套餐等套餐業(yè)務(wù)。使用echarts餅圖直觀顯示了電信用戶通過上網(wǎng)或網(wǎng)點(diǎn)辦理的套餐業(yè)務(wù)情況,其大小比例及百分比數(shù)字比例清楚一目了然。如圖5所示。
5大數(shù)據(jù)可視化的發(fā)展趨勢
近年來,大數(shù)據(jù)可視化技術(shù)發(fā)展速度越來越快,形式越來越豐富,各種框架推新周期越來越短,可以通過可視化技術(shù)把一些數(shù)據(jù)的重要細(xì)節(jié)這真實(shí)重建出來,并更清晰的展示給需求用戶。提高可視化顯示形式的多樣化,為用戶提供細(xì)節(jié)更清晰,更易操作的可視化框架也是值得關(guān)注的研究方向。最后,面對海量的數(shù)據(jù)如何有效提取有并去除冗余數(shù)據(jù),降低處理數(shù)據(jù)所需的時(shí)間是一個(gè)重要的研究方向。
6結(jié)束語
本文簡要分析了大數(shù)據(jù)及大數(shù)據(jù)可視化的定義,重點(diǎn)研究討論了Hadoop大數(shù)據(jù)平臺下利用Spark技術(shù)使用sDringMVC框架分析大數(shù)據(jù)結(jié)果的可視化技術(shù),最后嘗試探討了大數(shù)據(jù)分析可視化技術(shù)的個(gè)性化趨勢。