基本操作
1.进入HBase客户端命令行
[linux@node1 hbase]$ bin/hbase shell
2.查看帮助命令
hbase(main):001:0> help
DDL
Group name: namespace
1)查看所有的命名空间
hbase(main):003:0> list_namespace
2)创建命名空间
hbase(main):002:0> create_namespace 'bigdata'
3)删除命名空间
hbase(main):004:0> drop_namespace 'bigdata'
注意:命名空间下没有表才可以删除
Group name: ddl
4)创建表
hbase(main):005:0> create 'student','info' //在默认’default’命名空间下创建表
hbase(main):007:0> create 'bigdata:student','info', 'info2' //在指定命名空间下创建表
5)查看所有的表
hbase(main):009:0> list
6)查看表的详情
hbase(main):012:0> describe 'student'
7)修改表
(1)删除列族信息
hbase(main):011:0> alter 'bigdata:student','delete'=>'info2'
(2)修改版本信息
hbase(main):022:0> alter 'bigdata:student',{NAME=>'info1',VERSIONS=>3}
8)删除表
hbase(main):019:0> disable 'student'
hbase(main):020:0> drop 'student'
提示:如果直接drop表,会报错:ERROR: Table student is enabled. Disable it first.
DML
Group name: dml
1)插入数据到表
hbase(main):003:0> put 'student','1001','info:sex','male'
hbase(main):004:0> put 'student','1001','info:age','18'
hbase(main):005:0> put 'student','1002','info:name','Janna'
hbase(main):006:0> put 'student','1002','info:sex','female'
hbase(main):007:0> put 'student','1002','info:age','20'
2)Scan方式查看数据
(1)扫描全表
hbase(main):008:0> scan 'student'
(2)限定开始位置扫描全表
hbase(main):010:0> scan 'student',{STARTROW => '1001'}
(3)限定开始和结束位置扫描全表
hbase(main):009:0> scan 'student',{STARTROW => '1001', STOPROW => '1001'}
(4)扫描全表数据(包含被标记删除或者应该被覆盖的数据)
hbase(main):037:0> scan 'student', {RAW => true, VERSIONS => 10}
3)Get方式查看数据
(1)指定RowKey查询
hbase(main):014:0> get 'student','1001'
(2)指定RowKey+列族查询
hbase(main):015:0> get 'student','1001','info'
(3)指定RowKey+列族+列名查询
hbase(main):015:0> get 'student','1001','info:age'
(4)指定获取数据版本查询
hbase(main):022:0> get 'student','1001',{COLUMN=>'info:name',VERSIONS=>3}
4)统计表数据行数
hbase(main):021:0> count 'student'
5)更新数据(实际上还是Put)
hbase(main):012:0> put 'student','1001','info:name','Nick'
hbase(main):013:0> put 'student','1001','info:age','100'
6)删除数据
(1)指定RowKey+列族+列名删除
hbase(main):025:0> delete 'student','1001','info:name'
(2)指定RowKey+列族删除
hbase(main):027:0> delete 'student','1001','info'
注意:delete只能删除一个cell
(3)指定RowKey删除
hbase(main):031:0> deleteall 'student','1001'
注意:使用的是deleteall命令而不是delete命令
7)清空表数据
hbase(main):018:0> truncate 'student'