Hbase Shell 简介

在本章中, 将要介绍常见的Hbase Shell 命令。如要运行HBase shell,请执行以下操作:

$ ./bin/hbase shell

键入help,然后键入<RETURN>以查看shell命令和选项的列表。 通过浏览Help输出,可以了解如何将变量和命令参数输入HBase shell; 

下面列举一些常见的Hbase Shell 命令:

Create table

使用create命令创建新表, 必须指定表名和ColumnFamily名称:

hbase(main):001:0> create 'test', 'cf'
0 row(s) in 0.4170 seconds
=> Hbase::Table - test

List Table

使用list命令确认表存在:

hbase(main):002:0> list 'test'
TABLE
test
1 row(s) in 0.0180 seconds
=> ["test"]

可以使用describe命令查看创建表的详细信息,包括配置默认值:

hbase(main):003:0> describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE =>
'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'f
alse', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE
 => '65536'}
1 row(s)
Took 0.9998 seconds

Put Data to Table

要将数据放入表中,请使用put命令:

hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0850 seconds
hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0110 seconds
hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0100 seconds

上例中,增加三个值。 第一个位于第1行,列cf:a,值为value1。 HBase中的列由列族前缀组成,在此示例中为cf,后跟冒号,然后是列限定符后缀,在本例中为a;

Scan the table

使用Scan命令从HBase获取数据。 使用Scan时,可以加限制条件以过滤某些数据:

hbase(main):006:0> scan 'test'
ROW                                      COLUMN+CELL
 row1                                    column=cf:a, timestamp=1421762485768, value=value1
 row2                                    column=cf:b, timestamp=1421762491785, value=value2
 row3                                    column=cf:c, timestamp=1421762496210, value=value3
3 row(s) in 0.0230 seconds

Get data From Table

使用Get命令可以获取数据:

hbase(main):007:0> get 'test', 'row1'
COLUMN                                   CELL
 cf:a                                    timestamp=1421762485768, value=value1
1 row(s) in 0.0350 seconds

Disable Table

如果要删除表或更改其设置,需要先使用disable命令禁用该表。 可以使用enable命令重新启用表:

hbase(main):008:0> disable 'test'
0 row(s) in 1.1820 seconds
hbase(main):009:0> enable 'test'
0 row(s) in 0.1770 seconds

测试后上面的enable命令,可以再次禁用该表:

hbase(main):010:0> disable 'test'
0 row(s) in 1.1820 seconds

Drop Table

要删除表,可以使用drop命令:

hbase(main):011:0> drop 'test'
0 row(s) in 0.1370 seconds
Exit HBase Shell

如果要退出HBase Shell并断开与群集的连接,可以使用quit命令。

可以参见https://learnhbase.wordpress.com/2013/03/02/hbase-shell-commands/, 该文章列举了全部的Hbase Shell 命令,主要分为6大类,可以参见原文,该文中列举了如何使用这些Shell 命令的例子。

Hbase Shell 简介

发表评论

邮箱地址不会被公开。 必填项已用*标注

7 × = 四十 二

滚动到顶部