1.进入Hbase客户端
bin/hbase shell
2.查看帮助文档
help
3.查看有哪些表
list
4.创建表
1.第一种方式
create '表名',‘列族1’,‘列族2’
create 'user', 'info', 'data'
2.第二种方式
create '表名', {NAME => '列族1', VERSIONS => '指定版本号'},{NAME => ‘列族·2’}
create 'user', {NAME => 'info', VERSIONS => '3'},{NAME => 'data'}
5添加数据
put '表名', 'rowKey', 'l列族:列', '信息'
put 'user', 'rk0001', 'info:name', 'zhangsan'
6.查询信息
1.查询rowKey的信息
get '表名', 'rowKey'
get 'user', 'rk0001'
2.查询某个rowKey下的列族信息
get '表', 'rowKey', '列族'
get 'user', 'rk0001', 'info'
3.查询某个rowKey下的指定列族字段的信息
get '表名', 'rowKey', ';列族:列', '列族:列'
et 'user', 'rk0001', 'info:name', 'info:age'
4.查询rowKey指定多个列族的信息
方式1
get '表名', 'rowKey', '列族1', '列族2'
get 'user', 'rk0001', 'info', 'data'
方式2
get '表名', 'rowKey', {COLUMN => ['列族1', '列族2']}
get 'user', 'rk0001', {COLUMN => ['info', 'data']}
方式3
get '表', 'rowKey', {COLUMN => ['列族1:列', '列族2:列']}
get 'user', 'rk0001', {COLUMN => ['info:name', 'data:pic']}
5.查询指定rowKey的指定列值查询
get '表', 'rowKey', {FILTER => "ValueFilter(=, 'binary:查询的值')"}
get 'user', 'rk0001', {FILTER => "ValueFilter(=, 'binary:zhangsan')"}
6.查询指定rowKey与列的模糊查询
get '表名', 'rowKey', {FILTER => "(QualifierFilter(=,'substring:模糊查询的信息'))"}
get 'user', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}
7.查询所有
scan '表'
scan 'user'
8.列族查询
scan '表名', {COLUMNS => '列族'}
scan 'user', {COLUMNS => 'info'}
scan '表名', {COLUMNS => '列族', RAW => true, VERSIONS => 版本号}
scan 'user', {COLUMNS => 'info', RAW => true, VERSIONS => 3}
9.多个列族查询
scan '表名', {COLUMNS => ['列族1', '列族2']}
scan 'user', {COLUMNS => ['info', 'data']}
10.查询指定列族的某个列名查询
scan '表名', {COLUMNS => '列族:列名'}
scan 'user', {COLUMNS => 'info:name'}
11.查询指定列族的某个列名查询版本查询
scan '表名', {COLUMNS => '列族:列', VERSIONS => 版本}
scan 'user', {COLUMNS => 'info:name', VERSIONS => 5}
12. 指定多个列族按照数据进行模糊查询
scan '表', {COLUMNS => ['列族1', '列族2'], FILTER => "(QualifierFilter(=,'substring:模糊查询的内容'))"}
scan 'user', {COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}
13.rowKey范围查询
scan '表名', {COLUMNS => '列族', STARTROW => '开始的rowKey', ENDROW => '结束的rowKey'}
scan 'user', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}
14.查询rowKey以啥开头
scan '表名',{FILTER=>"PrefixFilter('查询以啥开头')"}
scan 'user',{FILTER=>"PrefixFilter('rk')"}
15.指定范围查询
scan '表名', {TIMERANGE => [开始的时间戳, 结束的时间的戳]}
scan 'user', {TIMERANGE => [1392368783980, 1392380169184]}
7.更新
1.更新版本号
alter '表名', NAME => '列族', VERSIONS => 版本号
8.删除
1.删除指定rowKey的列
delete '表名', 'rowKey', '列族:列'
2.根据时间戳继续删除
delete '表名', 'rowKey', '列族:列', 时间戳
3.删除一个列族
alter '表名', 'delete' => '列族'
alter 'user', 'delete' => 'info'
4.清空数据
truncate '表名'
truncate 'user'
5.删除表
1.禁用表
disable '表名'
disable 'user'
2.删除
drop '表名'
drop 'user'
9.计数
count '表'
count 'user'