hbase-visibility(可见性标签)

可见性标签是一串逻辑表达式字符串,用于标定数据的可见性。
启用可见性标签

  • 启用可见性标签
    在hbase-site.xml配置文件中添加如下配置

在这里插入图片描述
重启服务,重启成功后会创建hbase:labels表,该表存着已创建的标签以及用户分配的标签。

  • hbase shell可见性标签操作命令

hbase shell中关于可见性标签的命令如下所示:
Group name: visibility labels
Commands: add_labels, clear_auths, get_auths, list_labels, set_auths, set_visibility
1)add_labels:添加标签。只有超级用户可以进行添加,可以通过hbase-site.xml文件中。hbase.superuser配置项进行添加超级用户,多个用户用逗号分隔。
2)list_labels:查看已创建的标签
3)删除已创建的标签:虽然并没有删除标签的命令,但是可以使用delete 命令删除hbase:labels表中的数据进行手动删除标签。
4)set_auths:为用户设置标签。
5)get_auths:获得指定用户的标签。
6)clear_auths:删除指定用户的标签。
7)set_visibility:为已存在的数据设置标签,并不影响之后添加的数据。

  • 实例演示

本次演示创建两个标签developer、manager,创建两个用户bduser、dev。为bduser用户添加manager标签,为dev用户添加developer标签。分别插入不带标签、带manager标签、带developer标签的数据,分别使用bduser、dev用户查看数据,bduser会查出不带标签和带manager标签的数据,dev会查出不带标签和带developer标签的数据。
1)创建标签
命令:
add_labels [‘developer’,‘manager’]
创建成功会在hbase:labels表中添加如下图红框中所示的两条数据:
在这里插入图片描述
2)为用户分配标签
命令:
set_auths ‘bduser’,[‘manager’]
set_auths ‘dev’,[‘developer’]
设置成功会在hbase:labels表中添加如下图红框中所示的两条数据:
在这里插入图片描述
从上图可得:为用户分配标签会在和被分配标签同一行中创建一列名称为用户名的数据。如下图红框中所示:
在这里插入图片描述
3)插入数据
插入不带标签数据:
命令:
put ‘mytable’,‘row1’,‘mycf:name’,‘JACK’
put ‘mytable’,‘row1’,‘mycf:message’,‘mymessage’

插入带manager标签数据:
命令:
put ‘mytable’,‘row2’,‘mycf:name’,‘TOM’,{VISIBILITY=>‘manager’}
put ‘mytable’,‘row2’,‘mycf:message’,‘manager’,{VISIBILITY=>‘manager’}

插入带developer标签数据:
命令:
put ‘mytable’,‘row3’,‘mycf:name’,‘ROSE’,{VISIBILITY=>‘developer’}
put ‘mytable’,‘row3’,‘mycf:message’,‘developer’,{VISIBILITY=>‘developer’}

4)查询数据
hbase用户(超级用户)查询数据:
命令:scan ‘mytable’
在这里插入图片描述

bduser用户查询数据:
命令:scan ‘mytable’
在这里插入图片描述

dev用户查询数据:
命令:scan ‘mytable’
在这里插入图片描述

发布了11 篇原创文章 · 获赞 3 · 访问量 600

猜你喜欢

转载自blog.csdn.net/zfs_sir/article/details/88356066
今日推荐