需求:
例如:
uid1
用户执行删除uid2
这个好友,则uid2
的好友列表中也必须删除uid1
# rowkey 为 用户Id
# friends 列族
rowkey friends
uid1 uid2 uid3 uid4
uid2 uid1 uid3
# 版本为 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
Observer
协处理器通过
Observer
协处理器捕捉到relations
删除数据时, 对应的rowkey
也删除。
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
$ 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务