您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页【Hbase】之 好友关系(20)

【Hbase】之 好友关系(20)

来源:榕意旅游网


一、需求


需求:

例如:uid1 用户执行删除 uid2 这个好友,则 uid2 的好友列表中也必须删除 uid1



二、实现思路


# rowkey 为 用户Id
# friends 列族

rowkey      friends
uid1        uid2 uid3 uid4
uid2        uid1 uid3
  1. 创建表 和 基本数据
# 版本为 1
$ create 'relations', {
   NAME => 'friends', VERSIONS => '1'}

# 插入记录 uid1 :uid2 uid3 uid4
$ put 'relations', 'uid1', 'friends:uid2', 'uid2'
$ put 'relations', 'uid1', 'friends:uid3', 'uid3'
$ put 'relations', 'uid1', 'friends:uid4', 'uid4'

# 插入记录 uid2 :uid1 uid3
$ put 'relations', 'uid2', 'friends:uid1', 'uid1'
$ put 'relations', 'uid2', 'friends:uid3', 'uid3'


hbase(main):015:0> scan 'relations'
ROW              COLUMN+CELL                                                                                                                             
 uid1            column=friends:uid2, timestamp=1598881670153, value=uid2
 uid1            column=friends:uid3, timestamp=1598881677381, value=uid3
 uid1            column=friends:uid4, timestamp=15988816835, value=uid4
 uid2            column=friends:uid1, timestamp=1598881698725, value=uid1
 uid2            column=friends:uid3, timestamp=1598881690459, value=uid3
 2 row(s) in 0.0520 seconds
  1. 编写 Observer 协处理器

通过 Observer 协处理器捕捉到 relations 删除数据时, 对应的 rowkey也删除。

  1. 上传 HDFS
$ scp -P 22 hadoop-practice-1.0-SNAPSHOT.jar root@172.16..121:/root

$ mv hadoop-practice-1.0-SNAPSHOT.jar processor4.jar

[root@linux121 ~]# hadoop fs -mkdir /processor
[root@linux121 ~]# hadoop fs -put processor4.jar /processor
  1. 挂载协处理器
$ alter 'relations',METHOD =>'table_att','Coprocessor'=>'hdfs://linux121:9000/processor/processor5.jar|com.donaldy.hbase.homework.DeleteRelationsProcessor|1001|'

$ desc 'relations'

hbase(main):024:0> desc 'relations'
Table relations is ENABLED                                                                                                                                                             
relations, {
   TABLE_ATTRIBUTES => {
   coprocessor$1 => 'hdfs://linux121:9000/processor/processor5.jar|com.donaldy.hbase.homework.DeleteRelationsProcessor|1001|'}                           
COLUMN FAMILIES DESCRIPTION                                                                                                                                          

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务