5、list_namespace列出当前数据库中的所有namespace
相关Hbase数据库的常用操作命令:http://blog.csdn.net/scutshuxue/article/details/6988348
HBase的DDL操作
1、创建namespace
-》查看帮助信息,找到创建的语法格式:help 'create_namespace',注意要加上引号
create_namespace 'nstest'
2、描述查看namespace的结构
describe_namespace 'nstest'
3、删除namespace
drop_namespace 'nstest2'
4、创建表
示例: create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
-》ns1指的就是namespace
-》t1代表table_name
-》ns1:t1这样的格式就是唯一确定了一张表
-》在hbase中=>符号表示等于
-》f指的是列簇
-》VERSIONS => 5代表同时能够存储的版本数
-》建表时要指定一个列簇
-》可以指定多个列簇,一个大括号中只能指定一个NAME(变量)
-》一个列簇就是一个大括号
建表:
create 'stu_test','f1'
create 't1', 'f1', 'f2', 'f3'
create 'nstest:tb1','info'
在建表的时候可以指定在某个namespace下,比如:ns1:t1,没有指定就是在默认的数据库下面创建
/hbase/data 该目录下存放 namespace namespace下有相对应的表
描述表结构
desc 't1'
删除表:
在hbase中表有启用和禁用的状态区分,在删除和修改前需要先禁用,如果是修改那么完成后需要再启用
禁用:
disable 't1'
删除:
drop 't1'
禁用
disable, disable_all
启用
enable, enable_all
六、HBase的DML操作
1、添加数据
示例:put 'ns1:t1', 'r1', 'c1', 'value'
-》r代表rowkey
-》c代表列+列簇
-》value代表具体插入的值
插入值:必须唯一确定到一个值
put 'nstest:tb1','20170521_10001','info:name','leo'
put 'nstest:tb1','20170521_10001','info:age','18'
put 'nstest:tb1','20170521_10001','info:sex','male'
put 'nstest:tb1','20170521_10002','info:name','jack'
put 'nstest:tb1','20170521_10003','info:name','tom'
2、查询数据
示例:get 'ns1:t1', 'r1'
get 'nstest:tb1','20170521_10001'
一个rowkey可能有多个列簇,可以指定列簇进行查询
get 'nstest:tb1','20170521_10001','info'
指定某一列查询
get 'nstest:tb1','20170521_10001','info:name'
scan:表示全表扫描 -》类似select *
scan 'table_name'
scan 'nstest:tb1'
STARTROW代表开始的行号
scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
scan 'nstest:tb1', {STARTROW => '20170521_10002'}
-》大括号中的所有变量都必须是大写
scan 'nstest:tb1', {STARTROW => '20170521_10001',STOPROW => '20170521_10003'}
STARTROW:包含头部的列簇到结尾
STOPROW:包头不包尾
3、删除
deleteall直接删除列簇
deleteall 'test:toltable','20170521_10003'
delete 'nstest:tb1','20170521_10001','info:name'
put 'nstest:tb1','20170521_10001','info:age','20'-------修改