快手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萬人關注的大數據成神之路,確定真的不來了解一下嗎?

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

大數據技術與架構

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章