[連載]《大數據之路:阿裏巴巴大數據實踐》之日誌采集
阿裏巴巴數據技術及產品部。定位於阿裏集團數據中台,為阿裏生態內外的業務、用戶、中小企業提供全鏈路、全渠道的數據服務。作為阿裏大數據戰略的核心踐行者,致力於“讓大數據賦能商業,創造價值”。現在,阿裏巴巴數據技術及產品部正通過技術和產品上的創新,探索全域數據的價值,將阿裏在大數據上沉澱的能力對外分享,為各行各業的發展帶來更多可能性。
數據采集作為阿裏大數據係統體係的第一環尤為重要。因此阿裏巴巴建立了一套標準的數據采集體係方案,致力全麵、高性能、規範地完成海量數據的采集,並將其傳輸到大數據平台。
本章主要介紹數據采集中的日誌采集部分,阿裏巴巴的日誌采集體係方案包括兩大體係:
1)Aplus.JS是Web端( 基於瀏覽器)日誌采集技術方案;
2)UserTrack是APP端(無線客戶端)日誌采集技術方案。
本章從瀏覽器的頁麵日誌采集、無線客戶端的日誌采集以及我們遇到的日誌采集挑戰三塊內容來闡述阿裏巴巴的日誌采集經驗。
(1)頁麵瀏覽(展現)日誌采集
顧名思義,頁麵瀏覽日誌是指當一個頁麵被瀏覽器加載呈現時采集的日誌。此類日誌是最基礎的互聯網日誌,也是目前所有互聯網產品的兩大基本指標:頁麵瀏覽量(Page View,PV)和訪客數(UniqueVisitors,UV)的統計基礎。頁麵瀏覽日誌是目前成熟度和完備度最高,同時也是最具挑戰性的日誌采集任務,我們將重點講述此類日誌的采集。
(2)頁麵交互日誌采集
當頁麵加載和渲染完成之後,用戶可以在頁麵上執行各類操作。隨著互聯網前端技術的不斷發展,用戶可在瀏覽器內與網頁進行的互動已經豐富到隻有想不到沒有做不到的程度,互動設計都要求采集用戶的互動行為數據,以便通過量化獲知用戶的興趣點或者體驗優化點。交互日誌采集就是為此類業務場景而生的。
除此之外,還有一些專門針對某些特定統計場合的日誌采集需求,如專門采集特定媒體在頁麵被曝光狀態的曝光日誌、用戶在線狀態的實時監測等,但在基本原理上都脫胎於上述兩大類。
眾所周知,日誌采集多是為了進行後續的數據分析。
移動端的數據采集,一是為了服務於開發者,協助開發者分析各類設備信息;二是為了幫助各APP更好地了解自己的用戶,了解用戶在APP上的各類行為,幫助各應用不斷進行優化,提升用戶體驗。
無線客戶端的日誌采集采用采集SDK來完成,在阿裏巴巴內部,多使用名為UserTrack的SDK來進行無線客戶端的日誌采集。無線客戶端的日誌采集和瀏覽器的日誌采集方式有所不同,移動端的日誌采集根據不同的用戶行為分成不同的事件,“事件”為無線客戶端日誌行為的最小單位。基於常規的分析,UserTrack(UT)把事件分成了幾類,常用的包括頁麵事件(同前述的頁麵瀏覽)和控件點擊事件(同前述的頁麵交互)等。
對事件進行分類的原因,除了不同事件的日誌觸發時機、日誌內容和實現方式有差異之外,另一方麵是為了更好地完成數據分析。在常見的業務分析中,往往較多地涉及某類事件,而非全部事件;故為了降低後續處理的複雜性,對事件進行分類尤為重要。要更好地進行日誌數據分析,涉及很多方麵的內容,如需要處理Hybrid應用,實現H5和Native日誌的統一;又如識別設備,保證同一設備上各應用獲取到的設備信息是唯一的。除此之外,對於采集到的數據如何上傳,以及後續又如何合理處理等,每個過程都值得我們進行深入的研究和探索。
對於目前的互聯網行業而言,互聯網日誌早已跨越初級的饑餓階段(大型互聯網企業的日均日誌收集量均以億為單位計量),反而麵臨海量日誌的淹沒風險。各類采集方案提供者所麵臨的主要挑戰已不是日誌采集技術本身,而是如何實現日誌數據的結構化和規範化組織,實現更為高效的下遊統計計算,提供符合業務特性的數據展現,以及為算法提供更便捷、靈活的支持等方麵。
這裏介紹兩個最典型的場景和阿裏巴巴所采用的解決方案。
1.日誌分流與定製處理
2.采集與計算一體化設計
《大數據之路:阿裏巴巴大數據實踐》為2017年阿裏巴巴數據技術及產品部集合了團隊內多位數據一線工作者匯編而成,全麵係統介紹阿裏巴巴大數據係統架構。
來源:阿裏數據
原文鏈接
最後更新:2017-08-23 10:32:39