HBase Shell基础操作命令

                     HBase Shell命令操作

HBase为用户提供了一个非常方便的命令行操作方式,我们称之为HBase Shell。

HBase提供了大多数HBase命令,通过HBase Shell 用户可以方便地创建,删除及修改表,还可以向表中添加数据,列出表中的相关信息等。

在启动HBase之后,我们可以通过执行以下命令启动HBase Shell:

$bin/hbase shell

1创建表

执行create ‘t1’,’f1’ 命令,将在HBase中创建一张表名为’t1’,列族名为f1的表,命令及返回信息如下:

hbase(main):001:0> create 't1','f1'

0 row(s) in 1.5860 seconds

=> Hbase::Table - t1

创建表的时候需要指定表名与列族名,列名在添加数据的时候动态指定.

注意:在HBase Shell命令行模式下,若输入错误需要删除时,直接按[退格]键将不起作用,可以按[Ctrl+退格]键进行删除。

2添加数据

向表t1中添加一条数据,rowKey为row1,列name的值为zhangsan,命令如下
put 't1','row1','f1:name','zhangsan'

在添加一条数据

put 't1','row2','f1:age','40'

3扫描全表

scan 't1'

ROW                                                                  COLUMN+CELL                                                                                                                                                                                              

 row1                                                                column=f1:name, timestamp=1585716259087, value=zhangsan                                                                                                                                                  

 row2                                                                column=f1:age, timestamp=1585716278651, value=40   

 

4查询一行数据

使用get命令可以查询表中一整行数据。例如,查询表t1中rowKey为row1的整行数据:

 get 't1','row1'

COLUMN                                                               CELL                                                                                                                                                                                                     

 f1:name                                                             timestamp=1585716259087, value=zhangsan

5修改表

修改表同样使用put命令。例如,修改表t1中行键row1对应的name值,将zhangsan改为lisi,命令如下:

put 't1','row1','f1:name','lisi'

6删除特定单元格中的值,命令如下:

 delete 't1','row1','f1:age'

7删除一整行数据

deleteall 't1','row1'

 

8删除整张表

disable命令可以禁用表,使表无效,drop命令可以删除表。若需要删除整张表,需要先执行disable命令,再执行drop命令

 

disable 't1'

drop 't1'

9列出所有的表

list

10查询表中的记录数

count 't1'

11查询表是否存在

exists 't1'

12批量执行命令

HBase还支持将多个Shell命令放入一个文件中,每行一个命令,然后读取文件中的命令,批量执行。例如,在HBase安装目录下新建一个文件sample_commands.txt,向其加入以下命令:

cd /home/hadoop/hbase         在该目录下

create 'test' ,'cf'

list

put 'test','row1','cf:a','value1'

put 'test','row2','cf:b','value2'

put 'test','row3','cf:c','value3'

put 'test','row4','cf:d','value4'

scan 'test'

get 'test' ,'row1'

disable 'test'

enable 'test'

然后在启动HBase Shell时,将该文件的路径作为一个参数出入。这样文本中的每一个命令都会被执行,且每个命令的执行结果会显示在控制台.

bin/hbase shell ../sample_commands.txt

控制台打印如下:

 

TABLE                                                                                                                                                                                                                                                                         

t1                                                                                                                                                                                                                                                                            

test                                                                                                                                                                                                                                                                          

2 row(s) in 0.0160 seconds

 

0 row(s) in 0.1410 seconds

 

0 row(s) in 0.0160 seconds

 

0 row(s) in 0.0120 seconds

 

0 row(s) in 0.0100 seconds

 

ROW                                                                  COLUMN+CELL                                                                                                                                                                                              

 row1                                                                column=cf:a, timestamp=1585718204324, value=value1                                                                                                                                                       

 row2                                                                column=cf:b, timestamp=1585718204358, value=value2                                                                                                                                                       

 row3                                                                column=cf:c, timestamp=1585718204371, value=value3                                                                                                                                                       

 row4                                                                column=cf:d, timestamp=1585718204384, value=value4                                                                                                                                                       

4 row(s) in 0.0900 seconds

 

COLUMN                                                               CELL                                                                                                                                                                                                     

 cf:a                                                                timestamp=1585718204324, value=value1                                                                                                                                                                    

1 row(s) in 0.0270 seconds

 

0 row(s) in 2.2670 seconds

 

 

发布了74 篇原创文章 · 获赞 4 · 访问量 3204

猜你喜欢

转载自blog.csdn.net/u014635374/article/details/105243934