一、基本操作
1. 进入HBase客户端命令行
[hadoop@localhost hbase-2.1.3]$ bin/hbase shell
2. 查看所有表
hbase(main):001:0> list
3. 其他
#查询Hbase版本
hbase(main):002:0> version #查询服务器状态
hbase(main):003:0> status
二、表的操作
1. 创建表
create '表名称', '列族名称1','列族名称2','列族名称N'
hbase(main):004:0> create 'student','info'
2. 插入数据到表
put '表名称', '行名称(rowKey)', '列族名称:列名称', '值'
hbase(main):006:0> put 'student','1001','info:sex','male'
hbase(main):007:0> put 'student','1001','info:age','18'
hbase(main):008:0> put 'student','1001','info:name','Janna'
hbase(main):009:0> put 'student','1002','info:sex','female'
hbase(main):010:0> put 'student','1002','info:age','20'
3. 扫描查看表数据
查看整表信息
scan '表名'
hbase(main):012:0> scan 'student'
根据rowKey范围查询
scan '表名',{起始行=> 'rowKey',结尾行=> 'rowKey'}
hbase(main):011:0> scan 'student',{STARTROW => '1001',STOPROW => '1001'}
查看整个列族
scan '表名',{COLUMN => '列族名称'}
hbase(main):013:0> scan 'student',{COLUMN => 'info'}
查看指定列
scan '表名',{COLUMNS => 列族名称:列名称'}
hbase(main):015:0> scan 'student',{COLUMNS => 'info:age'}
限制查询条数和版本
scan '表名',{LIMIT => '查询条数',VERSIONS => '版本号'}
hbase(main):016:0> scan 'student',{LIMIT => 1,VERSIONS => 1}
4. 查看表结构
describe '表名称'
hbase(main):017:0> describe 'student'
5. 更新指定字段的数据
put '表名称','rowKey','列族名称:列名称','值'
hbase(main):018:0> put 'student','1001','info:name','Nick'
hbase(main):019:0> put 'student','1001','info:age','100'
6. 查看“指定行”或“指定列族:列”的数据
get '表名称','rowKey','列族名称:列名称'
hbase(main):020:0> get 'student','1001'
hbase(main):021:0> get 'student','1001','info:name'
7.统计表数据行数
count '表名称'
hbase(main):022:0> count 'student'
8. 删除数据
删除某rowkey的全部数据:
deleteall '表名称','rowKey'
hbase(main):023:0> deleteall 'student','1001'
删除某rowkey的某一列数据:
delete '表名称','rowKey','列族名称:列名称'
hbase(main):024:0> delete 'student','1002','info:sex'
9. 清空表数据
truncate '表名称'
hbase(main):025:0> truncate 'student'
提示:清空表的操作顺序为先disable,然后再truncate。
10.删除表
首先需要先让该表为disable状态:
hbase(main):026:0> disable 'student'
然后才能drop这个表
hbase(main):027:0> drop 'student'
提示:如果直接drop表,会报错:ERROR: Table student is enabled. Disable it first.