美文网首页
hbase基本命令

hbase基本命令

作者: 一条IT | 来源:发表于2019-06-07 22:45 被阅读0次

1、进入hbase的shell

hbase提供了一个shell的终端给用户交互

[root@hadoop3 conf]# hbase shell

退出使用quit或者ctrl+c

需要关闭hadoop的安全模式不然进行一些操作,比如scan会卡住

进入到hadoop的bin目录下

在启动hbase之前

[root@hadoop3 conf]# hadoop dfsadmin -safemode leave

2、创建表

create ‘表名’,’列族1’,’列族2’,…’列族n’

craete 'user','info1','info2'

3、查看所有表

list

4、描述表

describe 'user'

Table user is ENABLED                                                                                                                                                           

COLUMN FAMILIES DESCRIPTION                                                                                                                                                     

{NAME => 'info1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KE

EP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                                                                   

{NAME => 'info2', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KE

EP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                                                                   

2 row(s) in 0.0790 seconds

5、删除表

hbase(main):033:0> disable 'user'

0 row(s) in 1.4110 seconds

hbase(main):034:0> drop 'user'

0 row(s) in 0.2330 seconds

hbase(main):035:0> list

TABLE                                                                                                                                                                           

0 row(s) in 0.0450 seconds

6、判断表是否存在

hbase(main):040:0> exists 'user'

Table user does exist                                                                                                                                                           

0 row(s) in 0.0980 seconds

7、向表中添加数据

hbase(main):041:0> put 'user','1234','info1:name','zhangsan'

0 row(s) in 0.1310 seconds

hbase没有直接修改操作,但是可以覆盖,只要rowkey跟列族列名一致就会覆盖

比如这里要修改上面插入数据的info:name为’eve’

hbase(main):041:0> put 'user','1234','info1:name','eve'

0 row(s) in 0.1310 seconds

hbase(main):042:0> scan 'user1'

ROW                                          COLUMN+CELL                                                                                                                       

1234                                        column=info1:name, timestamp=1509304915052, value=eve

8、扫描整个表

hbase(main):043:0> scan 'user'

9、查询记录数

rowkey相同只算一条

hbase(main):066:0> count 'user'

2 row(s) in 0.0340 seconds

=> 2

10、查询

查询某一行

hbase(main):067:0> get 'user','1234'

COLUMN                                CELL                                                                                                     

info1:age                            timestamp=1547125476542, value=18                                                                       

info1:name                          timestamp=1547125469727, value=eve                                                                       

info2:favor                          timestamp=1547125482454, value=eat                                                                       

3 row(s) in 0.0330 seconds

查询某个列族:

hbase(main):068:0> get 'user','1234','info1'

COLUMN                                CELL                                                                                                     

info1:age                            timestamp=1547125476542, value=18                                                                       

info1:name                          timestamp=1547125469727, value=eve                                                                       

2 row(s) in 0.0280 seconds

查询某个列:

hbase(main):068:0> get 'user','1234','info1'

COLUMN                                CELL                                                                                                     

info1:age                            timestamp=1547125476542, value=18                                                                       

info1:name                          timestamp=1547125469727, value=eve                                                                       

2 row(s) in 0.0280 seconds

查询某个时间戳版本

不知道时间戳

先将这一个列族修改为能选择三个版本的列族,可以随便选择查多少个版本,查的版本只要比存的版本少就行

hbase(main):069:0> alter 'user' ,{NAME=>'info1',VERSIONS=>3}

hbase(main):070:0> get 'user','1234',{COLUMN=>'info1:name',VERSIONS=>3}

知道时间戳

hbase(main):071:0> get 'user', '1234', {COLUMN => 'info1:name',TIMESTAMP => 1538014481194}

11、删除记录

删除列族下的某一列

hbase(main):071:0> delete 'user','1234','info1:name'

0 row(s) in 0.0170 seconds

删除某一列族

hbase(main):072:0> delete 'user','1234','info2'

0 row(s) in 0.0230 seconds

删除某一行

hbase(main):073:0> deleteall 'user','1234'

0 row(s) in 0.0310 seconds

12、清空表

hbase(main):074:0> truncate 'user'

Truncating 'user' table (it may take a while):

- Disabling table...

- Truncating table...

0 row(s) in 1.4540 seconds

hbase(main):075:0> scan 'user'

ROW                                  COLUMN+CELL                                                                                             

0 row(s) in 0.0260 seconds

相关文章

网友评论

      本文标题:hbase基本命令

      本文链接:https://www.haomeiwen.com/subject/ktfbxctx.html