1. 電信dpi數據包含了用戶的許多什麼行為
做用戶行為分析的基礎是獲得用戶行為數據,例如用戶頁面停留時間、跳轉來源等等。這些信息有些能直接拿到,有些是需要做一些計算才能拿到的。一般來說用戶訪問時的一些信息都是以日誌的形式打到web容器的日誌空間中去,這其中包含了最通用的一些訪問信息以及一些自定義的日誌打點。
題主提到了大數據技術中對用戶行為進行分析,那麼可以假定網站或者App的訪問量是比較傲多的。由於系統流量比較大,計算維度又比較多,後續數據消費者的需求增長比較快,所以對計算分析平台有了一定的要求。具體表現為:
1.負載能力。流量增大以後帶來的壓力是多方面的,比如網路帶寬的壓力、計算復雜度帶來的壓力、存儲上的壓力等等。一般來說這些都是比較顯而易見的,會對產生比較直接的影響,比如計算實時性下降、消息出現了堆積、OOM等等。為了解決這一現象,一般來說會選擇一些分布式的框架來解決這個問題,比如引入分布式計算框架storm、spark,分布式文件系統hdfs等。
2.實時性。在系統資源捉襟見肘時消息的實時性會立即受到嚴重影響,這使得部分演算法失效(例如對計算和收集上來的數據進行行為分析後,反饋到推薦系統上,當整體響應時間過場時會嚴重影響推薦效果和准確度)。對於這個情況來說可能會選擇storm這種具有高實時性的分布式流式計算框架來完成任務。
3.系統管理和平台化相關技術手段。在大數據情景下,企業內數據環境和應用環境都是比較復雜的,用戶行為分析應用不是一成不變的,那麼就要求用戶行為分析這種多變的應用在復雜環境中能有效生存,這包括演算法數據材料的獲得、系統運維、系統任務調度、系統資源調度等等,相關的技術很多時候要求團隊自研,但也有ganglia、yarn、mesos這類開源系統可以參考或者直接使用。
4.數據鏈路。企業技術環境一般來說是非常復雜的,一層一層交錯在一起,遠不是一句MVC三層架構能夠概括得了的,為了避免消息流通呈復雜的網狀結構,一般會考慮應用服務化、企業服務匯流排(ESB)及消息匯流排來做傳輸,有興趣的話題主可以網路一下這幾個方向的技術和開源工具。
5.應用快速生成工具。我個人認為在大數據環境下應用都擺脫不了一個快速開發的要求,用戶行為分析也是如此,這時候要考慮對接一些開源的分布式數據分析演算法庫而不是通過自己去實現,比如像spark ml,mahout這類的庫用得好能減少很多工作量。