大數據開發--Hbase協處理器案例

大數據開發--Hbase協處理器案例

1. 需求描述

在社交網站,社交APP上會存儲有大量的用戶數據以及用戶之間的關係數據,比如A用戶的好友列表會展示出他所有的好友,現有一張Hbase表,存儲就是當前註冊用戶的好友關係數據,如下

image-20200421230859241

需求

  1. 使用Hbase相關API創建一張結構如上的表

  2. 刪除好友操作實現(好友關係雙向,一方刪除好友,另一方也會被迫刪除好友)

    例如: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 刪除表數據,並展示是否會啓用協處理器刪除相應的好友關係

吳邪,小三爺,混跡於後臺,大數據,人工智能領域的小菜鳥。
更多請關注
file

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