大數據開發--Hbase協處理器案例
1. 需求描述
在社交網站,社交APP上會存儲有大量的用戶數據以及用戶之間的關係數據,比如A用戶的好友列表會展示出他所有的好友,現有一張Hbase表,存儲就是當前註冊用戶的好友關係數據,如下
需求
-
使用Hbase相關API創建一張結構如上的表
-
刪除好友操作實現(好友關係雙向,一方刪除好友,另一方也會被迫刪除好友)
例如:uid1用戶執行刪除uid2這個好友,則uid2的好友列表中也必須刪除uid1
2.需求分析實現
2.1 考慮到需求是個雙向刪除,第一想法是客戶端用兩次Api執行刪除,細考慮,這個問題不應該在客戶端來做啊
2.2 所以考慮服務端的同步刪除,即利用hbase的協處理器來完成,協處理器在Hbase裏面即是BaseRegionServer
,重寫postDelete方法,監聽刪除操作,獲取到刪除的列族隊列集合,判斷其中的cells,包含rollkey的列,如果包含,則生成相應的delQualifier
對象進行刪除。
2.3 打包上傳jar,並建立user_relation關係表,掛載協處理器jar包。
2.4 最後演示整個過程。
3.過程演示
3.1 創建表,展示表內數據
3.2 刪除表數據,並展示是否會啓用協處理器刪除相應的好友關係
吳邪,小三爺,混跡於後臺,大數據,人工智能領域的小菜鳥。
更多請關注