摘要: 大數據的重要性已毋庸置疑,但大數據的採集、存儲、處理、分析、研究,卻不是一朝一夕煉成的!數據平台如何建設,推薦系統如何運算等等,都是我們所關注的話題。

 大數據的重要性已毋庸置疑,但大數據的採集、存儲、處理、分析、研究,卻不是一朝一夕煉成的!數據平台如何建設,推薦系統如何運算等等,都是我們所關注的話題。

    首先,迅雷基礎研發中心數據平台技術總監陳仕明,主要從三個方面介紹了“迅雷數據平台建設及應用案例”。

    中型數據平台

    數據平台可以分成中型數據平台和大型數據平台,中型數據平台的主要特點是服務器資源、技術儲備和人員都比較有限。迅雷的數據分析模塊目前有500多台服務器,4000多個CPU,存儲20P以上的數據,磁盤有3000多塊,屬於中型數據平台的規模。

    迅雷的大數據架構

    中型數據平台主要是基於開源已有的存儲和計算,做一些更上層的外延性的產品。

 

\

    第一層是採集,採集分成實時採集和離線採用集,其中離線採集占了業務的大部分,主要用迅雷自己開發的Xrsync工具實現。有些數據需要涉及到實時計算,會同步發,存起來之後ETL計算全部用開源計算框架。實時採集​​主要是採集日誌文件,這種日誌文件主要對應業務服務器裡邊所生成的日誌。

    數據存儲之後,依然是一個物理模型,為了降低維護成本,需要把技術人員的工作盡量抽出來,讓其他崗位比如數據分析師做更多的事情。這就需要把底層數據抽象為業務人員理解的數據模型,抽完之後在最下邊做了維護平台,以及報表系統,還有自主查詢。

    最右邊有兩塊,一塊是認證與授權,從上到下所有東西都需要經過認證和授權,作為一個公司級集中式的存儲平台,每個部門存儲都會在這兒做,所以你必須保障數據安全和資源合理分配。迅雷的平台認證,全部採用kerberos認證。數據存到HDFS上之後,會給每一個業務,或者每個產品,開闢一個kerberos帳號,所有帳號的數據都只能放在這個帳號的home裡去,包括這個帳號的Hive或者HBase都存在該目錄下,並控制存儲空間。

    另一塊是事件驅動調度:首先,任務的依賴關係用數據打通。任務和任務之間的依賴關係其實質是任務背後的數據之間的依賴關係,某一個數據跑成功了之後依賴該數據的任務才能跑。

    其次,需要把後置依賴前置改成前置驅動後置,前置任務跑成功了之後,將該任務對應的“數據事件”扔到調度總線裡面去,由總線把需要依賴這個“數據事件”的其他任務調起來,當然該任務能夠立即跑,還要考慮到底層計算引擎目​​前的負載等情況。

 

\

    上图上圖是調度引擎大體的架構:最核心部分是調度總線,數據分為是Task和Job,Task維護計算邏輯,如執行的SQL腳本等;Job維護調度邏輯,如依賴什麼“數據事件”, 一個Task可以配置多個Job。最左邊是Web接口,前端通過該接口查詢任務狀態,以及控制任務等。最右邊是計算環境的適配層。


    數據平台使用案例


    迅雷會把收集來的數據做成數據模型,最重要的數據模型是一個用戶事件模型,所有的基於用戶端的這種行為數據,都可以把它抽象成模型存進去,這個模型用一句話概括就是,誰對誰的什麼東西做了什麼事情?


    這個模型擁有很多緯度,如產品緯度,用戶緯度,時間緯度,客戶緯度、地域緯度,運營商緯度,終端緯度,渠道緯度,事件緯度等。


    這個模型能做什麼:簡單的比如每個產品的上線用戶數,每個用戶的活躍度,用戶的黏性,以及某個產品的用戶的地域分佈,運營商分佈等,活躍用戶排名,最熱的資源排名,如哪些電影是最常看,發生某個事件所消耗時間是多少,或者某個商品的銷售收入等。

 

\

    图:迅雷基础研发中心数据平台技术总监陈仕明


    迅雷還構建了一個用戶的染色庫,迅雷擁有幾億的用戶,但是這些用戶各有什麼樣的特徵?比如是聯​​通用戶還是電信用戶,還是某個小運營商的用戶?還有興趣類標籤,如游戲類標籤,影視類標籤等。遊戲標籤描述該用戶喜歡什麼類型遊戲,影視類標籤描述用戶喜歡什麼類型的影視;根據這些屬性我們可以更好的為用戶服務。

    另外一個是資源的屬性庫。比如一個影視文件,在資源屬性庫擁有該文件對應的電影的名稱,演員,以及電影類型等。

    染色庫和資源屬性庫的應用主要有:比如,可以計算視頻指紋,根據兩個視頻指紋相似度計算這兩部電影是不是一部電影。染色庫還會應用在會員tips推廣中,迅雷會彈一些tips,為了提高tips的效果,提高點擊率,需要盡量精準的投放。另外在看看裡邊放廣告的時候,也需要盡量的精準,不能最好不要把一個女性的產品,給一個男屌絲推,這樣一般點擊率會很差。

    接下來,騰訊數據中心數據挖掘研究員肖磊,從業務的角度為我們介紹了騰訊的大數據應用之一精準推薦。他的演講主要包括四個部分:

    騰訊做了什麼

    2012年的時候,騰訊贊助了KDDCup主要做了兩個事情,一個是微博上面的推薦,一個是廣告的推薦。具體到產品上面,包括騰訊視頻的推薦系統,易迅首頁上的推薦,基於社交網絡廣告的推薦廣點通,還有朋友關係鏈的推薦等。這些推薦都是通過分析騰訊8億的活躍用戶做出的。

 

\

    图:腾讯数据中心数据挖掘研究员肖磊


    遇到的問題


    肖磊認為作為一個推薦系統,首先要處理好3P之間的關係。

\

   

    首先是用戶,其次是ITEM,第三是場景,針對不同的場景不同位置有不同的方法做應用。

    解決之道——3S

    分別是數據、算法和系統。這三個是相輔相成的。

 

\

   

    會基於用戶的基本信息和歷史數據構建用戶畫像的體系,上圖中提到推薦的解決之道中,數據是排在第一位的,因為數據是做好準確推薦的立根之本。

    兩大核心平台

    有兩大核心平台做這件事情,一個平台是分佈式數據倉庫TDW,它基於開源的Hadoop和Hive進行了大量優化和改造。第二個是一套實時推薦的平台——APOLLO,它有一些實時​​介入系統、流式計算系統、一個分佈式的存儲系統,同時還有一個很重要的推薦引擎。

 

資料來源:煉數成金


留下你的回應

以訪客張貼回應

0

在此對話中的人們

熱門標籤雲

每月文章