您的位置:首页 > 数据库

Hbase数据库的常用操作命令

2017-12-07 18:43 274 查看
HBase的使用
1、自带了shell命令行
$ bin/hbase shell
2、输入help获取帮助信息
3、shell命令行的删除,需要按住ctrl+删除键才可以删除
4、list列出当前数据库中的表

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'-------修改










内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: