hbase过滤及查看数据知识点-day02

1.查看一个列族的数据
scan '表名',{NAME=>'列族'}
注:COLUMNS COLUMN 指向列
NAME 指向列族

2.修改列族列的版本数
alter '表名',{COLUMNS=>'列族:列',VERSIONS=>版本数}
注:有s显示多个版本,没s显示最新版本

修改表中列族的的版本数
alter '表名',{NAME=>'列族',VERSIONS=>版本数}

3.查看多个列族的数据
scan '表名',{COLUMNS=>['列族','列族n']}

4.过滤器

1.行键前缀过滤器(行键以什么开头)
scan '表名',{FILTER=>"PrefixFilter('值')"}

2.列过滤器(列标识符中含有值)
scan '表名',{FILTER=>"QualifierFilter(=,'substring:值')"}

3.列前缀过滤器
scan '表名',{FILTER=>"ColumnprefixFilter('值')"}

4.值过滤器
scan '表名',{FILTER=>"ValueFilter(=,'substring:值')"}

exa:通过搜索进来的(column为s)值包含123或者222的用户
scan 'test1', FILTER=>"ColumnPrefixFilter('s') AND
( ValueFilter(=,'substring:123') OR ValueFilter(=,'substring:222') )"

注:多个条件可以用关系运算符


5.指定行键范围(包前不包后)
scan '表名',{STARTROW=>'行键1',ENDROW='行键2'}

6.添加列族
alter '表名','列族名'
alter '表名',{name=>'列族名'}

7.查询前n行limit
scan '表名',{limit=>数量n}

8.查询表中时间戳指定范围的数据
scan 'user',{TIMERANGE=>[1606674023407, 1606674023996]}

9.添加列族f1同时删除列族f2
alter '表名',{NAME=>'f1'},{NAME=>'f2',METHOD=>'delete'}

10.查看一个列族列,版本为3的数据
get '表名','行键',{COLUMN=>'列族:列',VERSIONS=3}

11.查看命名空间
list_namespace

12.添加命名空间
create_namespace '空间名'

13.创建表指定表的命名空间存储位置
create '空间名:表名','列族1','列族n'

疑问:
1.查询user表中列族为info、列标示符为name的信息,并且版本最新的5个
scan 'user', {COLUMNS => 'info:name', VERSIONS => 5}
注:有s显示多个版本,没s显示最新版本是VERSIONS吗

2.查询user表中列族为info的信息
scan 'user',{NAME=>'info'} //跟想象不同
注:查询列族为info的信息,可列族为other的信息也显示出来了

 

posted @ 2020-12-02 23:45  蔡地像徐坤  阅读(368)  评论(0编辑  收藏  举报