快手HBase在千億級用戶特征數據分析中的應用與實踐


聲明:本文的原文是來自Hbase技術社區的一個PPT分享,個人做了整理和提煉。
大家注意哈,這種會議PPT類的東西能學習到的更多的是技術方案和他人在實踐過程中的經驗。希望對大家有幫助。

背景

快手每天產生數百億用戶特征數據,分析師需要在跨30-90天的數千億特征數據中,任意選擇多維度組合(如:城市=北京&性別=男),秒級分析用戶行為。針對這一需求, 快手基於HBase自主研發了支持bitmap轉化、存儲、索引、快速計算的分析服務--BitBase,並成功應用於留存分析、用戶增長、廣告營銷、ABTest 等多個業務場景。

業務需求及挑戰

快手在實際業務中遇到的需求,需要用的業務場景:在千億級別的日志中,選擇任意的維度,計算7-90日用戶留存,秒級返回。

file

技術選型

為此,快手調研了包含Hive、ES、clickhouse在內的多種技術方案。

file

技術方案

最后形成了基於bitmap和Hbase的BitBase解決方案。

file

對bitmap不熟悉的同學看這里:https://www.jianshu.com/p/bf9dbbc147ed

所謂的Bit-map就是用一個bit位來標記某個元素對應的Value, 而Key即是該元素。由於采用了Bit為單位來存儲數據,可以大大節省存儲空間。

多維計算最后被設計成在bitmap之間做與、或、非、異或、count、list計算。

整個BitBase

整體架構:

file

存儲模塊:

file
這里所有table的原信息會存在一個bitmap中,具體數據存在不同的bitmap中,bitmap的位數根據表數據量大小進行確定。

計算模塊:

file

deviceId問題

file

在實際問題中,復雜的deviceId會被轉換成一個index(long)值。並且需要有以下特性:連續、一致、反解、轉換速度快。

file

連續、一致、反解技術方案

file

如何實現快速轉化

file

業務效果

在實踐延遲方面,90天留存的時間也可以在10秒內返回。
file

服務現狀:
file

未來規划

未來規划包括:

  • 離線bitmap能夠在5min導入
  • SQL支持
  • 開源

file

聲明:本號所有文章除特殊注明,都為原創,公眾號讀者擁有優先閱讀權,未經作者本人允許不得轉載,否則追究侵權責任。

關注我的公眾號,后台回復【JAVAPDF】獲取200頁面試題!
5萬人關注的大數據成神之路,不來了解一下嗎?
5萬人關注的大數據成神之路,真的不來了解一下嗎?
5萬人關注的大數據成神之路,確定真的不來了解一下嗎?

歡迎您關注《大數據成神之路》

大數據技術與架構


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM