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

?

基于Hue 的自動(dòng)化數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2021-03-24 08:22王帥萬(wàn)小霞
現(xiàn)代計(jì)算機(jī) 2021年3期
關(guān)鍵詞:離線日志商城

王帥,萬(wàn)小霞

(鹽城師范學(xué)院信息工程學(xué)院,鹽城224002)

0 引言

淘寶、京東以及世界各地的大型商場(chǎng)和連鎖門(mén)店,每日都有大量的交易清單產(chǎn)生,一個(gè)購(gòu)物狂歡節(jié)就有過(guò)億交易金額要處理??爝f、物流每天也有各種數(shù)據(jù)產(chǎn)生如國(guó)內(nèi)外物流清單、發(fā)貨退貨記錄等,醫(yī)院、診所也有藥物清單、病人資料、就診記錄等,就連日常聊天一段時(shí)間下來(lái)也是篇幅巨大。騰訊的數(shù)據(jù)中心內(nèi)有大量的會(huì)話信息,基于這些數(shù)據(jù)進(jìn)行新型應(yīng)用開(kāi)發(fā)??傊?,這些數(shù)據(jù)不可避免地成為了一個(gè)新平臺(tái),大數(shù)據(jù)時(shí)代要求我們?cè)谝詳?shù)據(jù)為中心的平臺(tái)上進(jìn)行分析并去開(kāi)發(fā)新型數(shù)據(jù)管理系統(tǒng)和相應(yīng)的應(yīng)用系統(tǒng)[1]。

1 系統(tǒng)分析

大數(shù)據(jù)分析平臺(tái)由商城系統(tǒng)和數(shù)據(jù)可視化系統(tǒng)組成。具體來(lái)說(shuō),商城系統(tǒng)有離線日志發(fā)送、實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)兩大功能;數(shù)據(jù)可視化系統(tǒng)具有用戶總?cè)藬?shù)及活躍度統(tǒng)計(jì)、熱銷(xiāo)商品分析、廣告實(shí)時(shí)點(diǎn)擊量以及地域分布統(tǒng)計(jì)等功能。

1.1 商城系統(tǒng)

(1)離線日志發(fā)送

將商城的離線數(shù)據(jù)發(fā)送給Flume 日志系統(tǒng)并在本地備份

(2)實(shí)時(shí)數(shù)據(jù)發(fā)送

將商城的實(shí)時(shí)數(shù)據(jù)發(fā)送給Kafka 消息管理中心。

1.2 數(shù)據(jù)可視化系統(tǒng)

(1)用戶統(tǒng)計(jì)

表格展示商城用戶總?cè)藬?shù)、新增用戶人數(shù)、昨日活躍度、昨日活躍率。

(2)標(biāo)簽點(diǎn)擊量TOP5

環(huán)狀圖展示點(diǎn)擊數(shù)量最多的前5 個(gè)分類(lèi)。

(3)商品點(diǎn)擊量TOP5

半環(huán)狀圖展示點(diǎn)擊數(shù)量最多的前5 個(gè)商品。

(4)熱銷(xiāo)商品TOP5

環(huán)狀圖展示購(gòu)買(mǎi)數(shù)量最多的前5 個(gè)商品。

(5)收藏商品TOP5

柱狀圖展示加入購(gòu)物車(chē)數(shù)量最多的前5 個(gè)商品。

(6)廣告實(shí)時(shí)點(diǎn)擊量

折線圖展示當(dāng)天各時(shí)段的廣告點(diǎn)擊量

(7)銷(xiāo)售區(qū)域分布

中國(guó)地圖展示各區(qū)域銷(xiāo)售情況

1.3 Hadoop服務(wù)器

(1)離線日志分析

Flume 日志系統(tǒng)接收離線日志,使用Hive 數(shù)據(jù)倉(cāng)庫(kù)存儲(chǔ)數(shù)據(jù),Spark SQL 處理離線數(shù)據(jù)

(2)實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)

2 系統(tǒng)設(shè)計(jì)

2.1 商城系統(tǒng)設(shè)計(jì)

商城系統(tǒng)重點(diǎn)是整合獲取離線和實(shí)時(shí)數(shù)據(jù)兩部分功能,具體實(shí)施應(yīng)與對(duì)應(yīng)上線系統(tǒng)對(duì)接,本次使用的商城系統(tǒng)為簡(jiǎn)易設(shè)計(jì)的模擬系統(tǒng),目的是保證大數(shù)據(jù)分析平臺(tái)的數(shù)據(jù)來(lái)源真實(shí)可靠。

本系統(tǒng)主要配置兩大模塊,離線日志發(fā)送,實(shí)時(shí)數(shù)據(jù)發(fā)送。

(1)離線日志發(fā)送模塊

首先商城中的離線數(shù)據(jù)發(fā)送至Linux 服務(wù)器中的Flume 日志系統(tǒng),及那根離線數(shù)據(jù)日志存在服務(wù)器上,而后將日志上傳至HDFS 分布式文件管理系統(tǒng)并按格式導(dǎo)入Hive 數(shù)據(jù)倉(cāng)庫(kù),再運(yùn)行編寫(xiě)好的Spark SQL 和Spark ALS 的JAR 包,將Hive 數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)提取分析并將結(jié)果寫(xiě)入MySQL 數(shù)據(jù)庫(kù)中。

離線日志發(fā)送模塊的流程如圖1 所示。

圖1 離線日志發(fā)送模塊流程圖

(2)實(shí)時(shí)數(shù)據(jù)發(fā)送模塊:

實(shí)時(shí)數(shù)據(jù)則由商城系統(tǒng)直接發(fā)送給Kafka 消息中心,將Kafka 消息中心作為中轉(zhuǎn)站,把實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)給已經(jīng)啟動(dòng)好的Spark Streaming 服務(wù),Spark Streaming 就會(huì)按照時(shí)間滑窗將數(shù)據(jù)按小時(shí)分組存入MySQL 數(shù)據(jù)庫(kù)中。

2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

本系統(tǒng)將設(shè)計(jì)1 個(gè)MySQL 數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)名為shop,數(shù)據(jù)庫(kù)中包含的數(shù)據(jù)庫(kù)表有:

addCar 表:存儲(chǔ)加入購(gòu)物車(chē)匯總信息;

buyGoods 表:存儲(chǔ)購(gòu)買(mǎi)商品匯總信息;

clickAd 表:記存儲(chǔ)廣告實(shí)時(shí)點(diǎn)擊匯總信息;

clickGood 表:存儲(chǔ)瀏覽商品匯總信息;

clickTab 表:存儲(chǔ)瀏覽分類(lèi)匯總信息;

hotGoods 表:存儲(chǔ)銷(xiāo)售區(qū)域分布匯總信息;

userStatistics 表:存儲(chǔ)各用戶統(tǒng)計(jì)信息;

recommend 表:存儲(chǔ)所有用戶的推薦商品信息。

其中最主要的是推薦表,是推薦算法的直觀展示,表1 給出商品推薦表的詳細(xì)設(shè)計(jì)。

表1 商品推薦表

3 系統(tǒng)實(shí)現(xiàn)

3.1 離線數(shù)據(jù)處理模塊

離線數(shù)據(jù)處理分為3 步:商城發(fā)送日志,過(guò)濾日志,導(dǎo)入數(shù)據(jù)倉(cāng)并分析。

(1)商城發(fā)送日志

商城整合日志組件,配置Logback 配置文件。

以上代碼為L(zhǎng)ogback 詳細(xì)配置,一共兩塊日志采集的功能。fileAppender 的功能為本地備份,日志信息記錄為log 格式的文件,每5MB 生成以一個(gè)記錄文件,以時(shí)間格式命名。Flume 的功能為發(fā)送日志的功能,與Flume 建立連接后,追條發(fā)送日志給Flume。每當(dāng)使用INFO 級(jí)別的日志功能就會(huì)觸發(fā)這兩個(gè)功能,將日志本地備份并且發(fā)送給Flume 日志系統(tǒng),如圖2 所示。

圖2 后端日志圖

(2)過(guò)濾日志

配置Flume 啟動(dòng)配置文件,編寫(xiě)Shell 腳本。

以上代碼為Flume 詳細(xì)配置,通過(guò)此配置啟動(dòng)Flume 日志系統(tǒng),每當(dāng)接收到日志數(shù)據(jù)時(shí),按照攔截格式保留需求數(shù)據(jù),存于本地shop 目錄下的logs 文件夾內(nèi)。

以上代碼為Shell 腳本中的部分功能,目的是將logs 文件夾中的昨日數(shù)據(jù),剪切到臨時(shí)文件夾logsmv,通過(guò)HDFS 命令將歷史文件夾中的日志上傳到HDFS文件管理系統(tǒng),最后清空臨時(shí)文件夾。使用臨時(shí)文件夾logsmv 的目的是因?yàn)樵诿顖?zhí)行期間可能會(huì)有新的日志進(jìn)來(lái),清空數(shù)據(jù)的時(shí)候會(huì)產(chǎn)生誤刪的情況。

(3)導(dǎo)入數(shù)據(jù)倉(cāng)并分析

啟動(dòng)Hive 和Spark 服務(wù),執(zhí)行Spark SQL 的JAR 包。

以上代碼為Spark SQL 詳細(xì)功能,使用Scala 語(yǔ)言開(kāi)發(fā)。先將HDFS 文件系統(tǒng)中的日志導(dǎo)入Hive 數(shù)據(jù)倉(cāng)庫(kù)中內(nèi),再將日志數(shù)據(jù)分類(lèi)分析,最后將結(jié)果存入MySQL 數(shù)據(jù)庫(kù),便于查詢。

3.2 實(shí)時(shí)數(shù)據(jù)處理模塊

實(shí)時(shí)數(shù)據(jù)處理分為3 步:商城發(fā)送消息、消息中轉(zhuǎn)、實(shí)時(shí)分析數(shù)據(jù)。

(1)商城發(fā)送消息

為商城整合消息組件,與Kafka 建立會(huì)話。

以上代碼為商城將廣告點(diǎn)擊的消息發(fā)送給Kafka的實(shí)現(xiàn)代碼,通過(guò)配置的參數(shù)將消息發(fā)送到指定IP 和端口的Kafka。

(2)消息中轉(zhuǎn)

將Kafka 作為消息中轉(zhuǎn)站。

以上代碼為啟動(dòng)Kafka 服務(wù)并開(kāi)啟shop 會(huì)話。

(3)實(shí)時(shí)分析數(shù)據(jù)

數(shù)據(jù)可視化模塊獲取消息,分析實(shí)時(shí)數(shù)據(jù)。

以上代碼為Spark Streaming 獲取Kafka 的消息,而后將計(jì)算每個(gè)小時(shí)的各個(gè)廣告點(diǎn)擊量并存入MySQL。

3.3 數(shù)據(jù)可視化模塊

本功能模塊為前后端分離項(xiàng)目,前臺(tái)使用VUE 框架,后臺(tái)使用Spring Boot 搭建的SSM 框架,界面效果如圖3 所示。

圖3 數(shù)據(jù)可視化界面

3.4 商品推薦模塊

本功能模塊為離線分析拓展模塊,通過(guò)算法實(shí)現(xiàn)數(shù)據(jù)分析進(jìn)階功能,即針對(duì)每一位用戶,為其推薦滿足其喜好的商品,讓平臺(tái)具有智能化。

(1)ALS 推薦算法

本模塊使用的技術(shù)是Spark MLlib,基于Spark ML?lib 實(shí)現(xiàn)的ALS 推薦算法。

以上代碼為商品推薦的具體實(shí)現(xiàn)。ALS 是交替最小二乘(Alternating Least Squares)的簡(jiǎn)稱(chēng)。在機(jī)器學(xué)習(xí)中,ALS 特指使用交替最小二乘求解的一個(gè)協(xié)同過(guò)濾推薦算法。它通過(guò)將用戶的瀏覽、收藏和購(gòu)買(mǎi)行為進(jìn)行打分,將用戶與商品之間缺失的評(píng)分補(bǔ)齊,以評(píng)分為依據(jù)來(lái)推斷每個(gè)用戶的愛(ài)好并向用戶推薦適合的產(chǎn)品。

(2)RMSE 算法調(diào)優(yōu)

ALS 推薦算法訓(xùn)練過(guò)程中存在擬合問(wèn)題,擬合問(wèn)題有兩種,欠擬合和過(guò)擬合,都會(huì)影響結(jié)果的精準(zhǔn)度。欠擬合就是擬合精度不夠,舉個(gè)例子,數(shù)據(jù)集是個(gè)第一象限的冪函數(shù),而我們得到的結(jié)果卻是個(gè)一次函數(shù)直線,雖然也接近目標(biāo),但是誤差還是比較大。過(guò)擬合是指精度要求過(guò)高,過(guò)分考慮到每一個(gè)數(shù)據(jù)點(diǎn),使得原本很完美的結(jié)果曲線變形。在科學(xué)研究過(guò)程中,對(duì)于異常數(shù)據(jù)的排除和忽略是至關(guān)重要的環(huán)節(jié)。在算法調(diào)優(yōu)時(shí),可以通過(guò)RMSE 均方根誤差判斷擬合參數(shù)是否合理。

以上代碼為算法調(diào)優(yōu)的具體實(shí)現(xiàn),代碼對(duì)評(píng)分矩陣進(jìn)行分解,隱特征數(shù)量設(shè)置為10,迭代10 次,正則化參數(shù)設(shè)為了0.01。將真實(shí)評(píng)分?jǐn)?shù)據(jù)集與預(yù)測(cè)評(píng)分?jǐn)?shù)據(jù)集合并,可以得到用戶對(duì)每一個(gè)商品的實(shí)際評(píng)分和預(yù)測(cè)評(píng)分,然后計(jì)算評(píng)分的根均方差,以誤差值為依據(jù),調(diào)整參數(shù)進(jìn)行調(diào)優(yōu)。

4 結(jié)語(yǔ)

本次大數(shù)據(jù)分析平臺(tái)的重要核心功能就是數(shù)據(jù)的分析模塊,分析中針對(duì)不同需求場(chǎng)景,對(duì)應(yīng)著不同的算法。在對(duì)算法的研究過(guò)程中,了解到聚類(lèi)、分類(lèi)、推薦、決策樹(shù)等高階算法,更加加深了對(duì)普通算法的理解,即使使用尋常算法,許多難題也都迎刃而解。繼大數(shù)據(jù)學(xué)習(xí)之后,學(xué)習(xí)算法接觸人工智能也是主流方向,用大規(guī)模數(shù)據(jù)訓(xùn)練模型,可以給后續(xù)學(xué)習(xí)打下基礎(chǔ)。

猜你喜歡
離線日志商城
基于卷積神經(jīng)網(wǎng)絡(luò)的離線筆跡鑒別系統(tǒng)
一名老黨員的工作日志
新版Windows 10補(bǔ)丁離線安裝更簡(jiǎn)單
讀扶貧日志
京東商城
雅皮的心情日志
雅皮的心情日志
商城
悅居商城
悅居商城shop