Flink電商項目第一天-電商用戶行爲分析及完整圖步驟解析-熱門商品統計TopN的實現

GitHub

https://github.com/SmallScorpion/UserBehaviorAnalysis.git

批處理

批處理主要操作大容量靜態數據集,並在計算過程完成後返回結果。可以認爲,處理的是用一個固定時間間隔分組的數據點集合。批處理模式中使用的數據集通常符合下列特徵:

有界:批處理數據集代表數據的有限集合
持久:數據通常始終存儲在某種類型的持久存儲位置中
大量:批處理操作通常是處理極爲海量數據集的唯一方法

流處理

流處理可以對隨時進入系統的數據進行計算。流處理方式無需針對整個數據集執行操作,而是對通過系統傳輸的每個數據項執行操作。流處理中的數據集是“無邊界”的,這就產生了幾個重要的影響:

  1. 可以處理幾乎無限量的數據,但同一時間只能處理一條數據,不同記錄間只維持最少量的狀 態
  2. 處理工作是基於事件的,除非明確停止否則沒有“盡頭”
  3. 處理結果立刻可用,並會隨着新數據的抵達繼續更新。

電商用戶行爲

電商平臺中的用戶行爲頻繁且較複雜,系統上線運行一段時間後,可以收集到大量的用戶行爲數據,進而利用大數據技術進行深入挖掘和分析,得到感興趣的商業指標並增強對風險的控制。

電商用戶行爲數據多樣,整體可以分爲用戶行爲習慣數據和業務行爲數據兩大類。用戶的行爲習慣數據包括了用戶的登錄方式、上線的時間點及時長、點擊和瀏覽頁面、頁面停留時間以及頁面跳轉等等,我們可以從中進行流量統計和熱門商品的統計,也可以深入挖掘用戶的特徵;這些數據往往可以從web服務器日誌中直接讀取到。而業務行爲數據就是用戶在電商平臺中針對每個業務(通常是某個具體商品)所作的操作,我們一般會在業務系統中相應的位置埋點,然後收集日誌進行分析。業務行爲數據又可以簡單分爲兩類:一類是能夠明顯地表現出用戶興趣的行爲,比如對商品的收藏、喜歡、評分和評價,我們可以從中對數據進行深入分析,得到用戶畫像,進而對用戶給出個性化的推薦商品列表,這個過程往往會用到機器學習相關的算法;另一類則是常規的業務操作,但需要着重關注一些異常狀況以做好風控,比如登錄和訂單支付。

在這裏插入圖片描述

行爲分析

在這裏插入圖片描述

電商用戶行爲分析——項目模塊設計

  1. 熱門統計
    利用用戶的點擊瀏覽行爲,進行流量統計、近期熱門商品統計等。
  2. 偏好統計
    利用用戶的偏好行爲,比如收藏、喜歡、評分等,進行用戶畫像分析,給出個性化的商品推薦列表。
  3. 風險控制
    利用用戶的常規業務行爲,比如登錄、下單、支付等,分析數據,對異常情況進行報警提示。
    本項目限於數據,我們只實現熱門統計和風險控制中的部分內容,將包括以下五大模塊:實時熱門商品統計、實時流量統計、市場營銷商業指標統計、惡意登錄監控和訂單支付失效監控,其中細分爲以下9個具體指標:

在這裏插入圖片描述
在這裏插入圖片描述

數據源解析

在這裏插入圖片描述

數據結構

一份淘寶用戶行爲數據集,保存爲csv文件。本數據集包含了淘寶上某一天隨機一百萬用戶的所有行爲(包括點擊、購買、收藏、喜歡)。數據集的每一行表示一條用戶行爲,由用戶ID、商品ID、商品類目ID、行爲類型和時間戳組成,並以逗號分隔。關於數據集中每一列的詳細描述如下:

UserBehavior
在這裏插入圖片描述

以apache服務器的一份log爲例,每一行日誌記錄了訪問者的IP、userId、訪問時間、訪問方法以及訪問的url,具體描述如下

ApacheLogEvent
在這裏插入圖片描述

項目模塊

在這裏插入圖片描述

熱門實時商品統計

在這裏插入圖片描述

圖解析

大體流程:
在這裏插入圖片描述
1. 按照商品Id進行分區

在這裏插入圖片描述
2. 設置時間窗口

在這裏插入圖片描述

3. 時間窗口(timeWindow)區間爲左閉右開,同一份數據會被分發到不同的窗口

在這裏插入圖片描述
4. 窗口聚合

在這裏插入圖片描述

5. 窗口聚合示例
在這裏插入圖片描述

6. 進行統計整理 —— keyBy(“windowEnd”)
在這裏插入圖片描述
7. 狀態編程

在這裏插入圖片描述

8. 排序輸出
在這裏插入圖片描述

測試

在這裏插入圖片描述

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