大数据开发--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 删除表数据,并展示是否会启用协处理器删除相应的好友关系
大数据开发,更多关注查看个人资料
来源:oschina
链接:https://my.oschina.net/u/3735317/blog/4952989