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的信息也显示出来了