大數據技術之Flink電商用戶行爲分析系統(用戶畫像)

一、主流的批處理和流處理框架

在這裏插入圖片描述

  1. Hadoop中的MapReduce只能做離線計算,也就是批處理,並且基於磁盤計算,屬於IO密集型,Shuffle階段需要大量算力,並且只有map和reduce。
  2. Spark作爲一個微批處理的大數據計算框架,主要作用就是類似MapReduce,Spark Streaming可以實現傳統意義上的流式計算,但是正如開頭所說,屬於微批處理,並不是完全的實時,但是Spark基於內存運算,計算能力非常強大。
  3. Storm是真正的流式處理,來一條數據處理一條,但是對於超大流量Storm的處理並不太好。
  4. 而最近幾年興起的Flink,作爲和Spark一樣的計算框架,利用Hadoop作爲數據存儲,利用Flink進行計算,Flink是真正的滿足實時性要求的計算框架,可以實現毫秒級的相應,面向真正的流數據,以一行一行爲計算單位,速度非常快。

二、Flink相關介紹

批處理和流處理

  • 批處理
    批處理主要操作大容量靜態數據集,並在計算過程完成後返回結果。可以認爲處理的是一個固定時間間隔分組的數據點集合。批處理模式中使用的數據集通常符合下列特徵:
     1. 有界:批處理數據集代表數據的有限集合
     2. 持久:數據通常始終存儲在某種類型的持久存儲位置中
     3. 大量:批處理操作通常是處理極爲海量數據集的唯一方法
  • 流處理
    流處理可以對隨時進入系統的數據進行計算。流處理方式無需針對整個數據集執行操作,而是對通過系統傳輸的每個數據項執行操作。流處理中的數據集是“無邊界”的,這就產生了幾個重要的影響:
     1. 可以處理幾乎無限量的數據,但同一時間只能處理一條數據,不同記錄間只維持最少量的狀態
     2. 處理工作是基於事件的,除非明確停止否則沒有“盡頭”
     3. 處理結果立即可用,並會隨着新數據的抵達繼續更新

三、電商用戶行爲分析指標

  • 統計分析
     1. 點擊、瀏覽
     2. 熱門商品、近期熱門商品、分類熱門商品、流量統計
  • 偏好統計
     1. 收藏、喜歡、評分、打標籤
     2. 用戶畫像,推薦列表(結合特徵工程和集器學習算法)
  • 風險控制
     1. 下訂單、支付、登錄
     2. 刷單監控,訂單失效監控,惡意登錄(短時間內頻繁登錄失敗)監控

四、項目環境

Windows10、Centos7(三集羣,三臺分別都是6G,8核)、Idea2019.3、Maven3.3.9、Flink1.7.2、kafka2.11-2.1.0、sacla2.1.18、jdk1.8

五、項目主要模塊

  • 熱門統計
     利用用戶的點擊瀏覽行爲,進行流量統計、近期熱門商品統計等。

  • 偏好統計
     利用用戶的偏好行爲,比如收藏、喜歡、評分等,進行用戶畫像分析,給出個性化的商品推薦列表。

  • 風險控制
     利用用戶的常規業務行爲,比如登錄、下單、支付等,分析數據,對異常情況進行報警提示。

  • 說明
     本項目限於數據,只實現熱門統計和風險控制中的部分內容,將包括以下四大模塊:實時熱門商品統計、實時流量統計、惡意登錄監控和訂單支付失效監控。
     由於對實時性要求較高,用flink作爲數據處理的框架。綜合運用flink的各種API,基於EventTime去處理基本的業務需求,並且使用底層的processFunction,基於狀態編程和CEP去處理更加複雜的情形。

五、數據源解析

 一共是五份淘寶用戶行爲數據集,保存爲 csv 文件。此數據集包含了淘寶上某一天隨機一百萬用戶的所有行爲(包括點擊、購買、收藏、喜歡)。數據集的每一行表示一條用戶行爲,由用戶 ID、商品 ID、商品類目 ID、行爲類型和時間戳組成,並以逗號分隔,分別保存在每一個分項目的resource中。

六、項目地址

Flink電商用戶行爲分析系統(用戶畫像)Github地址
 可Fork可Clone

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