在本章中, 将要介绍常见的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 简介