指令基于HBase1.2.1
help "COMMAND" 可以在直接看到命令使用指南,在此只写出常用命令,基本指令格式都是 COMMAND 'namespace:table' , .... , {options} 形式
list_namespace 查看所有命名空间
list_namespace_tables 'ns1' 查看ns1命名空间下的所有表
scan 'ns1:table' 在指定命名空间ns1查看table表信息,其中可选参数可选择指定列和指定版本指定时间戳数据,选择数据范围等待
put 'ns1:table' , 'rowkey' , 'c1' , 'value' 在指定命名空间ns1的表下插入对应行键对应列族的列的值 。注意,存储时是默认排序的!!
scan 'ns1:table' 查看ns1下table表的所有数据物理视图,能全表查询
get 'ns1:table','rowkey' 查看ns1下table表的rowkey对应所有列数据,其中可选参数可选择指定列和指定版本指定时间戳数据等。快速,不能全表查询,必须写入行键作为查询条件
delete 'ns1:table','rowkey','column', timstamp 删除指定表指定rowkey的数据,若不指定column则对应rowkey的所有数据都被删除,若只写列簇不写列明,虽然不会报错但是并不会产生效果;若不指定timstamp,则对应column的多个版本数据都被删除,若指定timestamp则只删除指定版本数据,其余数据仍然可见。注意,timestamp不需要单引号!!
truncate 'ns1:table' 清空表,流程是取消表-》删除表-》创建表
disable 'ns1:table' 取消表
drop 'ns1:table' 删除表,必须先执行disable
desc 'ns1:table' 显示表信息,分别显示列簇信息
flush '' 将内存memstore中数据刷到storefile上,可以写regin名,也可以直接指定表名,,也就是将内存中数据存在hdfs上,每次flush都会生成一个storefile,默认配置中3个storefile将会合并
split '','splitkey' 切分region,第一个参数可写region名或表名,第二个参数指定分割rowkey位置,切分后原先的region仍会在hdfs保留,但是已作废,等到大合并时候将会清楚作废数据
alter 'ns1:table','c1','c2',... 当列不存在,添加列,若如下写法{NAME=>'f1',VERSIONS=>'5'},注意大写,则表示添加或者修改列族f1,并设置属性,版本为5;若如下写法'delete'=>c1',则表示删除列c1