Hbase数据库的常用操作命令

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40652340/article/details/78744518
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'-------修改







展开阅读全文

没有更多推荐了,返回首页