項目介紹:
大數據技術已經迅速應用于商業并産生價值,通過數據分析來識别用戶行為,建立以用戶為中心的低成本快速增長,是一個企業必須具備的核心競争力。 随着成本的大幅度增加,企業必須改變過去粗放型的營銷和運營方式,特别是在市場營銷、産品制造、銷售以及未來的客戶服務等各個方面向更加科學、高效的方向轉變。
電商系統上線後,需要收集用戶行為數據,通過大數據實時分析實現電商業務數字化運營。基于此強需求開發小象用戶行為分析,兼容神策開源的埋點SDK完成終端行為上報,采用Nginx Flume kafka實現日志收集,采用Flink寫入HDFS。
本開源項目内容包括nginx環境配置、Flume解密和日志格式處理、将明文數據存放到kafka的Topic下、Flink消費後将埋點數據存入HDFS的關鍵4步操作。為方便前期埋點的校驗調優,在kafka環節,增加了埋點解析數據JSON格式存入MySQL。後續計劃增加友盟和其他SDK廠商的埋點處理,以及業務系統日志的采集入庫。
工程流程
完成數據采集技術構建和業務設計,在App、小程序的系統供應商配合下完成用戶行為數據采集埋點,并基于埋點的數據構建線上用戶行為标簽和畫像。
項目主要内容架構設計思路
所謂“埋點”,是數據采集領域(尤其是用戶行為數據采集領域)的術語,指的是針對特定用戶行為或事件進行捕獲、處理和發送的相關技術及其實施過程。比如用戶某個icon點擊次數、觀看某個視頻的時長等等。
業務設計思路
埋點業務設計,首先需要根據業務分析明确采集的目标行為,進一步搞清楚應該在哪些地方埋什麼樣的點。過程中建議使用“事件模型( Event 模型)”來描述用戶的各種行為,事件模型包括事件( Event )和用戶( User )兩個核心實體。 基于4W1H模型描述用戶行為可将整個行為描述清楚,要點包括:是誰、什麼時間、什麼地點、以什麼方式、幹了什麼。通過這兩個實體結合在一起就可以清晰地描述清楚用戶行為。
技術架構
SDK埋點采集行為數據來源終端包括iOS、安卓、Web、H5、微信小程序等。不同終端SDK采用對應平台和主流語言的SDK,埋點采集到的數據通過JSON數據以HTTP POST方式提交到服務端API。 服務端API由數據接入系統組成,采用Nginx來接收通過 API 發送的數據,并且将之寫到日志文件上。使用Nginx實現高可靠性與高可擴展性。 對于Nginx打印到文件的日志,會由Flume的 Source 模塊來實時讀取Nginx日志,并由Channel模塊進行數據處理,最終通過Sink模塊将處理結果發布到 Kafka中。
軟件完整架構
第三方埋點SDK集成步驟
不同渠道的埋點數據通過 HTTP API 發送給服務端API實現數據接入。 采用Nginx作為WEB容器接收客戶端SDK發送的數據,并且将之寫到日志文件上。使用 Nginx 主要是考慮到其高并發、高可靠性與高可擴展性。
用戶行為采集場景通過應用場景梳理,實現以場景規劃埋點,用場景檢驗埋點。場景梳理可以抽象為三個層面:
應用效果
想要源碼,記得關注 轉發 私信,私信回複【數據分析平台】
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!