億量級流量的數據統計分析以及挖掘技術實戰(Spark And Storm)

微信發佈鏈接:http://mp.weixin.qq.com/s/AUpMZ-haVpxUlJGIWFYeMg
轉載,請註明出處:http://blog.csdn.net/u011163372/article/details/78861334
Keywords:
數據分析,數據挖掘 ,個性化推薦,協同過濾,spark,storm
, 監控大屏 ,注意力熱力圖

摘要:
本文,基於海量的全鏈路數據,簡明扼要的分享自己三年的時間內在實時數據統計分析以及數據挖掘方面的經驗。

大數據
大數據的主要特徵爲5V,如下圖所示:

這裏寫圖片描述

數據分析和挖掘整體框架圖
這裏寫圖片描述

數據分析和數據挖掘平臺的整體框架如上圖所示,主要分爲5層+1輔助系統,分別如下:
數據蒐集統一整合系統:主要負責蒐集整個供應鏈的數據信息,包括各個渠道數據、用戶行爲數據(網站瀏覽、點擊、收藏、評價、加入購物車、刪除購物車、下單、取消訂單等)、平臺基礎數據、外部爬蟲數據、輿情繫統數據等,將其存儲落地到大數據倉庫中,統一管理。
大數據計算平臺:主要包括Spark集羣、Hadoop集羣、Storm集羣、Tensorflow集羣和登月算法平臺等,以平臺的方式提供。
算法和建模層:主要利用大數據倉庫中離線數據和Kafka存儲的實時數據,利用上述的計算平臺,選擇、改造以及創新設計出適應特定場景的模型。
數據服務接口層:利用HIVE或者SPARK等腳本編寫數據分析算法,按照topic進行建模統計數據,存入數據庫(MYSQL或者HBASE等),以JSF接口或者HTTP前端接口的形式提供給各個業務平臺。
業務平臺:各個業務系統,包括活動系統、店鋪系統、SEM等業務系統,作爲消費端接入上述的數據服務,不用關係底層的算法和實現原理。
反饋系統:主要負責蒐集訪客對推薦結果的反應情況,利用反饋數據調整模型,適應線上的實時變化。

數據分析整體流程圖

這裏寫圖片描述
數據分析整體流程圖如上圖所示,主要分爲離線數據分析和實時數據分析兩類。實時數據分析,前端埋點(多種方式)實時上報用戶日誌數據到日誌存儲系統(主要爲KAFKA)中,然後利用實時計算框架STORM或者SPARK STREAMING來統計計算各種數據(PV\UV\直接訂單\間接訂單\排行信息\人員分佈\地域分佈信息等),將其存儲到緩存REDIS中,以便實時獲取。離線數據分析,主要編寫HIVE腳本或者SPARK SQL等腳本來統計計算各種TOPIC的長期離線數據,存儲到HBASE中,以便讀取。

數據分析產品-實時數據監控系統部分截圖

這裏寫圖片描述
數據分析實戰1-活動UV統計計算
場景描述:
十萬量級別的活動系統,幾億左右的活躍用戶,每個活動有幾十或者上百個坑位,每個坑位可以有多個換品,統計計算每個活動每個坑位的實時訪客數。
方案:利用基數估計算法HyperLogLog Counting
HyperLogLog Counting(以下簡稱HLLC)的基本思想也是在LLC的基礎上做改進。
HLLC使用調和平均數替代幾何平均數;LLC取得是幾何平均數。由於幾何平均數對於離羣值特別敏感,因此當存在離羣值時,LLC的偏差就會很大。
調和平均數的定義如下:

這裏寫圖片描述
算術平均數:
這裏寫圖片描述

HLLC比LLC具有更高的精度。對於分桶數m爲2^13(8k字節)時,LLC的標準誤差爲1.4%,而HLLC爲1.1%。
優點:無論用戶多少,都佔用12K的大小存儲容量,方便後期擴展應用。

數據分析實戰2-注意力熱力圖

數據分析產品-注意力熱力圖部分截圖
注意力熱力圖,是熱力圖的一種,它將訪問者對頁面中不同的區域的關注程度以熱力圖的形式展現出來。注意力熱力圖以不同的顏色和顏色深淺代表不同大小的熱度值,熱度值大的區域的顏色會較深,熱度值小的區域的顏色會較淺。注意力熱力圖能夠非常直觀的展示出網頁的各個區域被關注的程度(在屏幕中被顯示的時間長短),能夠幫助網頁裝修人員優化頁面內容,提高轉化率。
對於每條日誌數據,根據停留時間t1計算整體熱度值totalvalue,計算公式如下:
這裏寫圖片描述

設置動態指數函數,計算公式如下:

這裏寫圖片描述
其中,這裏寫圖片描述爲距離上邊緣1/4屏寬的縱座標;這裏寫圖片描述爲距離下邊緣1/4屏寬的縱座標;x爲上步驟的中間點集合中的點座標;y爲點座標所對應的熱度值;這裏寫圖片描述爲變化因子,隨着屏高變化,其計算公式如下:
這裏寫圖片描述

其中,這裏寫圖片描述爲距離上邊緣1/4屏寬的縱座標;這裏寫圖片描述爲當前屏的左上角的縱座標。
JSHOP數據挖掘-個性化推薦的整體流程圖
這裏寫圖片描述

聚合頁猜你喜歡欄目和我的足跡欄目
個性化推薦-聚合頁,是部門在數據挖掘領域的第一個產品,主要從品類和品牌兩個方面,以活動、店鋪和商品爲推薦承載物品,進行實時和離線兩個時間維度的推薦。算法模型部分,採用的是多模型融合,每個模型推薦部分物品,然後利用排序算法(LR模型、GBDT模型)進行排序,挑選出排名靠前的部分商品,推薦給用戶。根據場景的不同將推薦分爲判斷預測型、猜測預測型、關聯型、週期型等,每種場景採用不同的算法進行推薦。根據時效性,將推薦系統分爲離線型、近線型和實時型三條線路,根據場景的時效要求使用其中的一種或者多種。
判斷預測型,主要根據用戶最近一個月的瀏覽、點擊、收藏、關注、購買等行爲特徵,判斷該用戶接下3天內會不會購買該商品,主要使用的算法爲LR和GBDT算法以及其變種。
猜測預測型,主要根據用戶以往的行爲(包括瀏覽、點擊、收藏、關注、購買),爲用戶和所有交互的商品進行打分(代表喜歡程度或者其他意義,分值越大代表意義越深),然後在未交互的商品中預測出可能會購買或者點擊的商品列表,主要使用的算法有item-cf、user-cf和ALS模型以及其變種。
關聯型,主要根據用戶同一天內的購買組合或者加入購物車的商品組合,來判斷用戶購買一個商品後會購買另外一個商品的可能性,主要使用的算法有FP算法、Apriori算法等。
週期型,主要針對一些週期型比較強的品類商品,用戶某個時間點購買了一個商品後,一定週期後還會購買該商品的可能性,主要使用的算法有LSTM算法等。

個性化推薦經驗總結:
ALS模型優化:
訓練過程數據量大,訓練較慢。可以增加並行度\聚類處理等。
識別過程的笛卡兒積問題,識別太慢。Spark mllib中默認採用的分塊大小可以適當調整。
Rank值爲隱藏因子的個數,可以適當調整,提高模型的表達能力。
Ensemble模型:
• 參數級別的融合
• 模型級別的融合
1. 線性融合(加權、調製)
2. 級聯融合(過濾)
3. 算法模型級別融合
離線和在線模型
比如LR模型和FTRL模型

如果,大家對海量數據下實時數據統計分析和挖掘技術感興趣的同學或者同事,可以一起共同探討。

參考文獻:
[1]. 古喜慶. 基於數據倉庫和數據挖掘技術的客戶數據分析系統設計與實現[D]. 北京郵電大學, 2007.
[2].聊聊淘寶天貓個性化推薦技術演進史.
[3]. 輕鬆搞定實時分析及監控大屏(https://yq.aliyun.com/articles/69342).
[4]. Spark Streaming(上)–實時流計算Spark Streaming原理介紹.
[5]. 基於Storm的Nginx log實時監控系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章