亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于開源Spark的網(wǎng)站用戶行為分析設(shè)計(jì)與實(shí)現(xiàn)

        2021-07-26 01:19:24黃文涵鐘全德
        關(guān)鍵詞:數(shù)據(jù)庫用戶分析

        ◆黃文涵 鐘全德

        (四川長虹電子控股集團(tuán)有限公司 四川 621000)

        1 引言

        隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)站訪問成為人們的日常行為,同時在后臺產(chǎn)生了大量的數(shù)據(jù)。如何讓數(shù)據(jù)產(chǎn)生價值,為網(wǎng)站以及系統(tǒng)運(yùn)營提供決策支持,提升用戶體驗(yàn)成為了亟須解決的問題。本文旨在為用戶提供一個靈活方便的平臺,根據(jù)不同應(yīng)用場景,進(jìn)行數(shù)據(jù)分析并統(tǒng)計(jì)結(jié)果,輔助網(wǎng)站系統(tǒng)決策或修改。

        2 概述

        深入分析系統(tǒng)操作日志和用戶上網(wǎng)行為,了解用戶瀏覽網(wǎng)頁的行為規(guī)律和分析用戶行為,從而構(gòu)建一個滿足不同需求的系統(tǒng)日志或用戶行為日志分析系統(tǒng)是十分必要的。用戶行為分析是指分析用戶訪問網(wǎng)站的日志數(shù)據(jù),改善網(wǎng)站訪問體驗(yàn)或改進(jìn)系統(tǒng)設(shè)計(jì)。網(wǎng)站日志包含大量具有指導(dǎo)性和有價值的用戶行為信息,為分析用戶的在線行為提供了強(qiáng)大的數(shù)據(jù)支撐。目前,各種類型的日志數(shù)據(jù)隨著互聯(lián)網(wǎng)及其各種應(yīng)用的發(fā)展而大量增長,以前僅具備單臺服務(wù)器架構(gòu)的用戶行為分析系統(tǒng)已無法滿足用戶日益增長的現(xiàn)實(shí)需求,傳統(tǒng)的Hadoop 具有速度慢、算子少等缺點(diǎn),而Spark 是一種用于處理海量數(shù)據(jù)的通用高速分布式計(jì)算框架。同時,Spark 計(jì)算框架附帶了一個機(jī)器學(xué)習(xí)庫,可以為用戶行為分析提供技術(shù)支持,也是構(gòu)建功能齊全的用戶行為分析系統(tǒng)的理想選擇。

        3 系統(tǒng)方案設(shè)計(jì)

        系統(tǒng)包括離線分析和實(shí)時分析兩大功能模塊。

        3.1 離線分析

        用戶訪問會話聚合統(tǒng)計(jì):統(tǒng)計(jì)訪問時長在0~3 的session(會話)占比,4~6 的session 占比等。

        分析用戶訪問的會話數(shù)據(jù):根據(jù)用戶指定條件,選擇滿足指定條件(如按年齡,職業(yè)或城市的篩選條件)的用戶。按條件靈活過濾,允許用戶對感興趣和有關(guān)用戶組執(zhí)行后續(xù)復(fù)雜業(yè)務(wù)邏輯的統(tǒng)計(jì)和分析。

        按時間比例隨機(jī)抽取會話:按時間比例隨機(jī)抽取。

        Top10 活躍會話:從Top10 熱門類別中獲取每個類別點(diǎn)擊次數(shù)最多的前10 個會話,以及相應(yīng)的訪問詳細(xì)信息。

        頁面單跳轉(zhuǎn)換率:根據(jù)指定的日期范圍和頁面流ID,判斷計(jì)算頁面流ID 中每兩頁組成的頁面切片,并判斷其訪問量是多少。

        區(qū)域熱門Top3 商品:每個區(qū)域中最受歡迎的Top3 項(xiàng)目。

        3.2 實(shí)時分析

        廣告點(diǎn)擊流量實(shí)時統(tǒng)計(jì):實(shí)時動態(tài)黑名單機(jī)制,拉黑每天點(diǎn)擊同一個廣告100 多次的用戶,同時建立基于黑名單的非法廣告點(diǎn)擊流量過濾機(jī)制。

        獲取點(diǎn)擊、下單、支付次數(shù)排名的Top10:通過過濾會話來計(jì)算我們要訪問的所有類別(點(diǎn)擊,下單,支付)。

        4 實(shí)現(xiàn)原理設(shè)計(jì)

        4.1 系統(tǒng)架構(gòu)設(shè)計(jì)

        基于開源Spark 框架,應(yīng)用Kafka 作為消息中間件,HDFS 作為分布式文件系統(tǒng)存儲日志數(shù)據(jù),MySQL 作為存儲數(shù)據(jù)庫。

        網(wǎng)站系統(tǒng)實(shí)時產(chǎn)生用戶行為數(shù)據(jù),一部分實(shí)時數(shù)據(jù)(相對較少)傳遞至Kafka 消息隊(duì)列,一部分日志數(shù)據(jù)(相對較多)存入緩存磁盤;Kafka 消息隊(duì)列的數(shù)據(jù)作為流數(shù)據(jù)傳入Spark Streaming 進(jìn)行批處理并直接存儲至MySQL 數(shù)據(jù)庫,而硬盤中的日志緩存數(shù)據(jù)先傳入日志收集系統(tǒng)Flume,F(xiàn)lume 將數(shù)據(jù)進(jìn)行簡單處理后寫入分布式文件系統(tǒng)(HDFS)中,Spark 計(jì)算引擎引用HDFS 中的日志數(shù)據(jù)進(jìn)行具體的數(shù)據(jù)分析等操作來進(jìn)行實(shí)時分析,并將部分結(jié)果傳入MySQL。用戶通過網(wǎng)站系統(tǒng)直接訪問MySQL 的方式獲取數(shù)據(jù)來進(jìn)行離線分析等操作,或者直接得到某些數(shù)據(jù)分析結(jié)果。具體架構(gòu)如圖1所示。

        圖1 系統(tǒng)架構(gòu)圖

        4.2 系統(tǒng)功能設(shè)計(jì)

        系統(tǒng)功能主要包括兩部分,第一部分是對用戶訪問網(wǎng)站產(chǎn)生日志進(jìn)行離線分析。第二部分是對網(wǎng)站廣告的點(diǎn)擊流量實(shí)時統(tǒng)計(jì)分析。具體功能結(jié)構(gòu)圖如圖2所示。

        圖2 系統(tǒng)功能結(jié)構(gòu)圖

        4.3 優(yōu)化設(shè)計(jì)

        系統(tǒng)最終將數(shù)據(jù)存儲至MySQL 數(shù)據(jù)庫,處理業(yè)務(wù)邏輯時與MySQL 交互頻繁,通過批量執(zhí)行SQL 語句來優(yōu)化性能,并通過PreparedStatement 方法批處理多個SQL 語句。即便同時有數(shù)萬個SQL語句執(zhí)行時,也只需要編譯一次,這種批量執(zhí)行SQL 語句方式可以大大提高性能。

        會話聚合自定義Accumulator(累加器),在聚合會話統(tǒng)計(jì)功能中,系統(tǒng)能夠統(tǒng)計(jì)各個不同持續(xù)時間會話數(shù)占會話總數(shù)的比例、各個不同步長會話數(shù)占會話總數(shù)的比例。Spark 分布式計(jì)算平臺,不能使用常規(guī)的集合來存儲并計(jì)數(shù),在此采用Spark 中的Accumulator 來計(jì)數(shù)。這里采用非傳統(tǒng)的方式,定制一個累加器,實(shí)現(xiàn)更復(fù)雜的計(jì)算邏輯,累加器維護(hù)所有范圍間隔的統(tǒng)計(jì)邏輯。運(yùn)維人員只需維護(hù)Accumulator 中的代碼,即可維護(hù)系統(tǒng)會話聚合統(tǒng)計(jì)的功能,從而大大降低了維護(hù)成本。

        4.3 數(shù)據(jù)庫表設(shè)計(jì)

        系統(tǒng)獲取和存儲的數(shù)據(jù)通過設(shè)計(jì)對應(yīng)的數(shù)據(jù)庫表來實(shí)現(xiàn),創(chuàng)建名為sessionanalyze 的數(shù)據(jù)庫,系統(tǒng)中用到的所有數(shù)據(jù)和分析結(jié)果都存儲在此數(shù)據(jù)庫中。主要數(shù)據(jù)表設(shè)計(jì)如下:

        4.3.1 任務(wù)表

        基于特定篩選參數(shù),平臺用戶提交的分析任務(wù)信息存儲在該表中。

        表1 任務(wù)表

        4.3.2 會話明細(xì)表

        用于存儲隨機(jī)提取的會話和top10 類別會話詳細(xì)數(shù)據(jù)。

        表2 會話明細(xì)表

        4.3.3 實(shí)時分析表

        廣告點(diǎn)擊狀態(tài)表:用于存儲每個省的每個城市中每個廣告的點(diǎn)擊流量。

        表3 廣告點(diǎn)擊狀態(tài)表

        各省top3 廣告表:用于存儲每天各省top3 熱門廣告。

        表4 各省top3 廣告表

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

        系統(tǒng)功能主要包括離線分析和實(shí)時分析兩大模塊。

        離線分析模塊:按條件過濾會話,會話聚合分析,按比例隨機(jī)抽取,點(diǎn)擊下單支付排名top10,排名top10 活躍會話和區(qū)域熱門排名top3 商品等模塊。

        實(shí)時分析模塊:動態(tài)黑名單及過濾,廣告的按區(qū)域?qū)崟r統(tǒng)計(jì),統(tǒng)計(jì)每天熱門廣告和各廣告小時級別窗口統(tǒng)計(jì)等模塊。

        4.4.1 離線分析模塊

        系統(tǒng)按上文描述功能需求模塊設(shè)計(jì)程序類,包括UsrActionAnalyze 、 SessionAggregate 、 SessionAccumulator 、PageOneStepConvertPage 及一些自定義UDF 和自定義分區(qū)排序類,以及工具類和Dao 層類等。包括:過濾聚合、隨機(jī)抽取、用戶購物行為、活躍會話、區(qū)域熱門商品等。

        4.4.2 實(shí)時分析模塊

        (AdCilckRealTime 類)首先,每個批次從kafka 中消費(fèi)數(shù)據(jù),然后批量計(jì)算,最后存儲更新到MySQL 數(shù)據(jù)庫中。包括:黑名單及過濾、廣告的按區(qū)域統(tǒng)計(jì)、熱門廣告統(tǒng)計(jì)、小時級窗口統(tǒng)計(jì)等。

        5 應(yīng)用場景及創(chuàng)新性

        5.1 應(yīng)用場景

        本文基于開源Spark 設(shè)計(jì)的網(wǎng)站用戶行為分析系統(tǒng),有助于個人或企業(yè)用戶更加高效地獲取和處理用戶行為數(shù)據(jù),實(shí)現(xiàn)多維度統(tǒng)計(jì)分析和用戶挖掘,輸出用戶畫像,幫助電商商家、內(nèi)容提供商等了解自己的用戶,通過精準(zhǔn)營銷、精準(zhǔn)推薦等方式獲得價值變現(xiàn)。

        5.2 創(chuàng)新性

        系統(tǒng)采用專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速的分布式計(jì)算引擎的開源Spark 平臺,具有易用性、通用性和更快的速度,比傳統(tǒng)的Hadoop 平臺的處理效率更高。結(jié)合大數(shù)據(jù)處理技術(shù)組件Kafka 作為消息隊(duì)列和Redis 作為中間緩存實(shí)現(xiàn)數(shù)據(jù)緩存處理,有效解決數(shù)據(jù)存取煩瑣的問題,提高了處理數(shù)據(jù)效率。

        具體實(shí)現(xiàn)中,根據(jù)應(yīng)用場景重定義了Spark 中的Accumulator 來實(shí)現(xiàn)復(fù)雜分布式計(jì)算;實(shí)時流計(jì)算中,采用redis 的自增代替原始的updateStateBykey 原語,有效提升系統(tǒng)讀寫效率。

        6 產(chǎn)業(yè)價值

        我國大數(shù)據(jù)產(chǎn)業(yè)持續(xù)保持快速增長,數(shù)據(jù)量年均增速超50%,2020年我國數(shù)據(jù)總量全球占比已達(dá)20%,已成為數(shù)據(jù)量最大、數(shù)據(jù)類型最豐富的國家之一。

        在工業(yè)界,Spark 已經(jīng)在互聯(lián)網(wǎng)領(lǐng)域得到了廣泛的應(yīng)用。本系統(tǒng)基于Spark 分布式計(jì)算引擎進(jìn)行用戶行為數(shù)據(jù)分析,并提供一系列可供使用和擴(kuò)展的方法和接口,能夠很好地為企業(yè)提供技術(shù)支持。

        7 結(jié)束語

        Spark 已經(jīng)逐漸被接受并成為Hadoop 之后又一主流開源框架,并作為通用海量數(shù)據(jù)并行處理框架,其高可用性和高可靠性都已趕超Hadoop,為大規(guī)模日志分析乃至數(shù)據(jù)挖掘都提供了很好的解決方案。

        本系統(tǒng)基于Spark 設(shè)計(jì)了一個高效的網(wǎng)站用戶行為分析系統(tǒng),基于Spark 設(shè)計(jì)實(shí)現(xiàn)了用戶會話行為分析總體架構(gòu);該設(shè)計(jì)實(shí)現(xiàn)了實(shí)時流計(jì)算分析功能,實(shí)現(xiàn)了高效對接數(shù)據(jù)庫的輔助類等。系統(tǒng)具有高效獲取實(shí)時數(shù)據(jù)、對采集的數(shù)據(jù)進(jìn)行離線分析和實(shí)時分析等功能。系統(tǒng)主要針對日志服務(wù)器采集到的用戶行為日志進(jìn)行統(tǒng)計(jì)分析,從中獲得用戶行為規(guī)律,能夠自定義供用戶選擇的功能。

        猜你喜歡
        數(shù)據(jù)庫用戶分析
        隱蔽失效適航要求符合性驗(yàn)證分析
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        數(shù)據(jù)庫
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        電力系統(tǒng)及其自動化發(fā)展趨勢分析
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        數(shù)據(jù)庫
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        亚洲国产精品福利片在线观看| 视频女同久久久一区二区| av影院在线免费观看不卡 | 色老头久久综合网老妇女| 久久精品国产一区二区涩涩| 亚洲无精品一区二区在线观看| 欧美日韩精品久久久久| 精品乱码久久久久久中文字幕| 国产在线观看免费一级| 深夜黄色刺激影片在线免费观看| 国产欧美成人一区二区a片| 初尝黑人巨砲波多野结衣| 亚洲国产成人无码电影| 亚洲无毛成人在线视频| 亚洲欧美日韩中文字幕一区二区三区| 亚洲成色在线综合网站| 太大太粗太爽免费视频| 亚洲黄色av一区二区三区| 日本真人做人试看60分钟| 最新国产一区二区精品久久| 中文乱码字幕在线中文乱码| 五月天中文字幕日韩在线| 久久久久久国产精品免费免费男同 | 亚洲精品99久91在线| 亚洲av免费手机在线观看| 情侣黄网站免费看| 久久国产免费观看精品| 免费av一区男人的天堂| 成年性生交大片免费看| 巨熟乳波霸若妻在线播放| 亚洲日本人妻中文字幕| 久久黄色国产精品一区视频| 少妇久久久久久被弄到高潮| 无夜精品久久久久久| 青青草视频在线播放观看| 欧美又粗又长又爽做受| 性夜夜春夜夜爽aa片a| 亚洲一区二区不卡日韩| 亚洲第一女人av| 人妻丰满熟妇av无码处处不卡| 久久亚洲精品成人AV无码网址|