HBase Shell
遇到不懂的命令直接help “命令”
1、库的DDL
1.0 查库
list_namespace
--查库中包含的表
list_namespace_tables
--描述库
describe_namespace 'ns1'
1.1 创库
create_namespace 'ns1'
create_namespace 'ns1', {'PROPERTY_NAME'=>'PROPERTY_VALUE'}
1.2 改库
--增加或修改一个属性
alter_namespace 'ns1', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
--删除一个属性
alter_namespace 'ns1', {METHOD => 'unset', NAME=>'PROPERTY_NAME'}
1.3 删库
drop_namespace 'ns1'
2、表的DDL
1.0查表
list
list 'abc.*'
list 'ns:abc.*'
--查看指定库中的所有表
list 'ns:.*'
--描述表
describe 't1'
desc 't1'
1.1增表
--表名,列族1,列族2,列族3
create 't1', 'f1', 'f2', 'f3'
--在指定库中创表,并指定列族及其版本个数
create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
--预分区
create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']
create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'
create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
1.2改表
增加、修改、删除列族
--修改列族版本数
alter 't1', NAME => 'f1', VERSIONS => 5
--增加列族信息
alter 't1', 'f1', {NAME => 'f2', IN_MEMORY => true}, {NAME => 'f3', VERSIONS => 5}
--删除指定列族
alter 'ns1:t1', NAME => 'f1', METHOD => 'delete'
alter 'ns1:t1', 'delete' => 'f1'
--MAX_FILESIZE, READONLY,MEMSTORE_FLUSHSIZE, DURABILITY等属性的修改
alter 't1', MAX_FILESIZE => '134217728'
1.3删表
--首先disable表
disable 't1'
--删除表
drop 't1'
3、DML
3.0查
scan 'student'
scan 'student',{STARTROW => '1001', STOPROW => '1001'}
scan 'student',{STARTROW => '1001'}
get 'student','1001'
get 'student','1001','info:name'
3.1增
put 'student','1001','info:name','Zhangsan'
put 'student','1001','info:age','100'
3.2删
delete 'student','1002','info:sex'
--删除RowKey的全部数据
deleteall 'student','1001'
--清空表
truncate 'student'