友盟吳磊 移動大資料平台的架構 實踐與資料增值

2021-07-31 13:53:18 字數 3832 閱讀 3082

【受訪人簡介】

吳磊·友盟公司資料平台負責人

吳磊,友盟公司資料平台負責人。目前主要負責umeng移動資料分析平台的軟體研發和系統架構。擁有10多年的軟體開發經驗,先後在大型通訊系統,通用搜尋引擎以及海量資料分析等領域工作。在基礎平台架構和海量資料處理方向有多年的深厚積累,對hadoop等大資料領域相關技術在具體工作中的落地有深刻的實踐和體會。

移動大資料分析平台的架構思想及演進

lambda混合架構思想

友盟資料平台整體架構

友盟的架構思想是借鑑了lambda的混合架構體系,其核心思想是既能兼顧低延遲的計算需求,同時也能具有處理需要處理全量資料的能力,最後通過將兩部分的檢視聚合起來提供外部服務。lambda架構是由批處理層,快速處理層,和服務層三部分組成,整個體系也比較簡單,通過檢視層的聚合就能將兩部分計算結果合併起來提供乙個完整的檢視。系統維護的代價也比較低。

友盟資料流水線

離線部分,主要是基於hadoop mapreduce框架開發了一系列的mr任務。同時使用hive建立資料倉儲,使用pig進行資料探勘,現在也在逐步使用spark來承擔資料探勘相關的工作。實時部分是通過storm來進行流式計算。實時部分,最終計算結果會儲存到 mongodb,離線部分的資料儲存在 hdfs 。離線分析的結果儲存在 hbase 。因為 hbase 缺少二級索引的相關功能,所以引入了 elastic search 來為 hbase 相關表提供索引查詢功能。最後通過統一的 rest service 來對外提供資料服務。

資料接入層讓kalfka集群承擔,後面由storm消費,儲存在mongodb裡面,通過kafka自帶的mirror功能同步,兩個kafka集群,可以分離負載。計算有離線和實時兩部分,實時是storm,離線是hadoop,資料探勘用hive,分析任務,正在從pig遷移到spark平台,大量的資料通過計算之後,儲存在hfds上,最後儲存在hbase裡面,通過es來提供多級索引,以彌補hbase二級索引的缺失。

友盟移動大資料平台在資料採集、清洗、計算方面踩過的坑

1)資料採集

資料採集面臨以下三大挑戰:

為了快速上線,友盟在2023年的資料平台是基於ror開發,在後台通過resque進行一些離線的處理。這個架構很快就跟不上移動網際網路的發展速度,面臨巨大的資料壓力,不調整是不行的。之後就切換到基於finagle server的日誌伺服器,finagle server是twitter開源出來的乙個非同步伺服器框架,很適合移動網際網路訪問特點:高併發,小資料量。切換到finagle server之後,單台伺服器的處理能力得到了極大的提公升。同時日誌收集服務的無狀態特性可以支援橫向擴充套件,即使面臨非常高壓力時也可簡單的通過增加臨時伺服器來應對。

友盟主要採集資料以下三方面:

2)資料清洗

友盟通過三個方面對資料清洗,分別是:唯一標識、資料標準化、資料格式。

唯一標識。移動統計分析可以使用裝置id來作為識別符號。但也會遇到問題,吳磊在採訪中以android裝置為例,對這部分進行了詳細分享:安卓裝置通常可以拿來作為裝置標識的是 imei, mac, 和android id,可安卓裝置的碎片化和開放性,導致得到資料變得不是那麼容易。由於android的開放性,各種刷機rom橫行, 會出現一些裝置mac位址完全一樣的情況,還有部分山寨機則會出現公用imei的問題。同樣還有一些安卓裝置是沒有imei的,如平板和盒子。針對這一問題,友盟採用統一計算和機器學習來應對,統一計算就是綜合以上提到的三種裝置id,按一定的演算法來計算出唯一的id,對於重複的imei,mac位址,andriod id等資料加入計算黑名單,在計算時不予採用。機器學習就是通過基於圖的分析方法,來將計算裝置標識。

資料標準化。型號、地域識別、時間識別三角度來考慮

型號。採訪中,吳磊表示,友盟裝置指數,是乙個在移動行業關注度非常高的指數,有當前活躍裝置的排名,故能否精確識別手機機型就很重要。可並不是獲取乙個model欄位都很容易,如小公尺3是當前活躍量很大的一款機型,但其model欄位有多達***個型號,那就必須把這些型號都對應到小公尺3這一款機型上。關於多機同型的問題,吳磊給舉了乙個有趣的案例,m1這個modle,在2023年年末計算時,突然發現m1裝置在3年之後又一次開始突增了,經過仔細發現原來是另一款m開頭的對手廠家乙個爆款手機model欄位也是叫m1。類似這樣的事情現在有,將來也會發生,這是大資料處理中繞不開的坑。

地域識別。通常是依靠ip位址來實現的,國內的ip位址管理並不規範,會出現真實位址有偏移的情況。對此會記錄一天內出現最多次出現的地域來判定其所屬地。

時間問題。如使用的是客戶時間,但因客戶機器時間設定不一致等情況及sdk的傳送策略問題,經常導致和伺服器時間不一致,會帶來很多問題,如是否需要向前補算等。

資料格式。json、thrift、protobuf等。

3)資料計算

吳磊在採訪中表示,資料計算會占用資料平台工程師大部分的時間,資料計算分為實時計算、離線計算、準實時計算三部分,以下是這三部分計算各自需要面臨的挑戰:

實時計算:時效性問題是實時計算首要面對的,從實時上考慮,就不能放一些太複雜的計算。突發流量衝擊大多會發生在晚上10:00到12:00之間,就是睡前刷一刷。這樣一來,就會產生一些延遲,如果延遲特別嚴重,就得臨時擴容來應對,好在lambda的架構很靈活,能夠保證有能力很方便的進行擴容。因lambda計算架構有實時和離線部分是兩套**,產生誤差是必然。為了不會讓實時部分偏差太大,一般最長也是天級任務,到凌晨就會清理,而且資料會在離線計算時得到糾正。

3)資料儲存與資料安全

離線儲存。資料壓縮,資料生命週期

資料快取。橫向擴充套件,預載入 twme搭建 redis 集群

吳磊表示, 資料安全做大資料的人會關注,也是所有做資料的人都非常關注的問題。事實上安全是有很多個維度的,有從技術方面,有產品策略方面,還有有政策方面安全等等。

友盟移動大資料平台在資料增值方面採取哪些方法

談到資料增值,吳磊先給記者分析了當前移動網際網路的發展**,現在移動網際網路的紅利已經接近尾聲,就說是說靠移動網際網路本身的迅猛發展給開發者使用者增長的可能性已經很渺茫。所以提高自身產品的吸引力或其他營銷手段增加使用者活躍度,才能使得開發者的產品得到更好的發展。友盟大資料平台可以助開發者們一臂之力,這是現在乃至未來友盟給客戶提供的主要服務。

採訪最後,吳磊表示為了能夠更好的服務於客戶,友盟能做的就是讓現有的這些龐大資料增值起來。那如何能夠讓資料增值呢?

其一:內部資料打通,友盟不光是做統計分析,還有即時通訊、社會化分享、工具推薦等業務。 把這些業務的資料盡可能的進行橫向打通,這樣一來,就可以使用者自身的自定義事件,進行一些有針對性的推送。

其二,使用者畫像。友盟還和其他的資料方合作,給使用者進行畫像,這樣就可以進行更加精準的推送。使用者畫像可以根據現有的資料更精準的自己使用者屬性和興趣、行為等方面。

**:

騰訊陳磊 大資料是解決開放平台效率的重要手段

由infoq主辦,2013qcon全球軟體開發大會 北京站 於4月25日 27日在北京國際會議中心召開,作為年度軟體研發技術交流盛會,大會雲集了來自國內外頂級軟體研發大師和各開發領域一線專家,帶來了年度技術最強音。開放平台構建生態體系 面對越來越多的平台加入開放的行列及產生的豐富資料,陳磊表示,開放...

睿峰 雲平台上的大資料移動醫療專家

8月初,繼特斯拉 中國人壽 中國工商銀行等跨界合作後,睿峰科技重磅推出基於雲端的大資料移動醫療平台,將大資料及跨界合作的 觸角 延伸至醫療領域。引領國內移動互聯行業發展趨勢的跨界合作之王 睿峰科技的此舉,在業內引起了不小的反響。就該平台的相關情況,記者專程採訪了睿峰相關負責人。睿峰移動醫療平台是基於...

快看漫畫大資料平台的模型思維與使用者增長實踐

本文根據快看漫畫屈世超老師在datafuntalk資料主題技術沙龍活動 大資料從底層處理到資料驅動業務 中分享的 大資料平台的模型思維與使用者增長實踐 編輯整理而成,在未改變原意的基礎上稍做修改。今天分享的內容分為三個部分,首先介紹下快看漫畫發展狀況,第二個就是我們在大資料平台和大資料業務發展的過程...