创建一个列族的表:create ‘student’,‘info’
创建多个列族的表(一般不超过3个):
create ‘t1’, {NAME => ‘f1’}, {NAME => ‘f2’}, {NAME => ‘f3’}
增:
hbase(main) > put ‘student’,‘1001’,‘info:name’,‘Thomas’
hbase(main) > put ‘student’,‘1001’,‘info:sex’,‘male’
hbase(main) > put ‘student’,‘1001’,‘info:age’,‘18’
为当前表增加列族
hbase> alter ‘hbase_book’, NAME => ‘CF2’, VERSIONS => 2
删:
为当前表删除列族:
hbase> alter ‘hbase_book’, ‘delete’ => ’CF2’
删除某rowkey的全部数据
hbase(main) > deleteall ‘student’,‘1001’
删除某rowkey的某一列数据:
hbase(main) > delete ‘student’,‘1002’,‘info:sex’
清空表数据:
hbase(main) > truncate ‘student’
特别提示:清空表的操作顺序为先 disable,然后再 truncating。(不用disable也行)
用drop删除表时,需要先让表为disable状态
hbase(main) > disable ‘student’
hbase(main) > drop ‘student’
特别提示:如果直接 drop 表,会报错:Drop the named table. Table must first be disabled ERROR: Table student is enabled. Disable it first.
改:(覆盖)
hbase(main) > put ‘student’,‘1001’,‘info:name’,‘Nick’
hbase(main) > put ‘student’,‘1001’,‘info:age’,‘100’
将info列族中的数据存放3个版本:
hbase(main) > alter ‘student’,{NAME=>‘info’,VERSIONS=>3}
查:
describe ‘student’
hbase(main) > get ‘student’,‘1001’
hbase(main) > get ‘student’,‘1001’,‘info:name’
hbase(main) > scan ‘student’
hbase(main) > scan ‘student’,{STARTROW => ‘1001’, STOPROW => ‘1001’}
hbase(main) > scan ‘student’,{STARTROW => ‘1001’}
其它命令:
统计表数据行数:
hbase(main) > count ‘student’
显示服务器状态
hbase> status ‘linux01’
显示HBase当前用户
hbase> whoami
显示当前所有的表
hbase> list
展示表结构信息
hbase> describe ‘hbase_book’
检查表是否存在,适用于表量特别多的情况
hbase> exist ‘hbase_book’
检查表是否启用或禁用
hbase> is_enabled ‘hbase_book’
hbase> is_disabled ‘hbase_book’
禁用一张表:
hbase> disable ‘hbase_book’