1. 连接到HBase
连接到正在运行的HBase实例使用“hbase shell”命令。该命令位于HBase安装路径的/bin目录下。我这里将bin目录加入到了系统环境变量PATH中。执行命令:
1 2 3 4 5 6 7 8 9 |
$ hbase shell SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/nancy/dev/hbase-1.2.2/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/nancy/dev/hadoop-2.7.0/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 1.2.2, r3f671c1ead70d249ea4598f1bbcc5151322b3a13, Fri Jul 1 08:28:55 CDT 2016 |
2. 查看HBase Shell帮助信息
输入“help”并按下回车键,可以查看一些HBase Shell的基础用法以及几个命令示例。注意命令中的表名、行名、列名需要以引号括起来。
3. 创建一个表
使用“create”命令创建一个新的表。建表时必须指定表名及列族名称。
1 2 3 4 |
hbase(main):002:0> create 'test', 'cf' 0 row(s) in 3.6690 seconds => Hbase::Table - test |
4. 列出创建的表的信息
需要使用“list”命令:
1 2 3 4 5 6 |
hbase(main):003:0> list 'test' TABLE test 1 row(s) in 0.1200 seconds => ["test"] |
5. 向表中写入数据
使用“put”命令向表中写入数据:
1 2 3 4 5 6 7 8 |
hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1' 0 row(s) in 0.8650 seconds hbase(main):001:0> put 'test', 'row2', 'cf:b', 'value2' 0 row(s) in 1.0150 seconds hbase(main):002:0> put 'test', 'row3', 'cf:c', 'value3' 0 row(s) in 0.0130 seconds |
在这里我们插入了三条记录,每次一条。第一次插入的行是‘row1’,列是‘cf:a’,值是‘value1’。HBase中的列由一个列族前缀(这里是‘cf’),跟着一个半角冒号,最后是使用列限定符(这里是‘a’)做后缀。
6. 扫描(scan)表中的全部数据
从HBase读取数据的一种方式是scan。使用scan命令来扫描全表获取数据。也可以在scan中加上少许限制,不过这一次是获取全部的数据。
1 2 3 4 5 6 |
hbase(main):001:0> scan 'test' ROW COLUMN+CELL row1 column=cf:a, timestamp=1476023016853, value=value1 row2 column=cf:b, timestamp=1476023301621, value=value2 row3 column=cf:c, timestamp=1476023350882, value=value3 3 row(s) in 0.6550 seconds |
7. 获取某一行数据
要一次只获取一行记录可以使用“get”命令:
1 2 3 4 |
hbase(main):002:0> get 'test', 'row1' COLUMN CELL cf:a timestamp=1476023016853, value=value1 1 row(s) in 0.0780 seconds |
8. 禁用(disable)一个表
想要删掉一个表或者修改一个表的设置(还有一些其他的类似的情况),需要先禁用这个表。这里可以使用“disable”命令。想要重新启用这个表可以使用enable命令。
1 2 3 4 5 |
hbase(main):003:0> disable 'test' 0 row(s) in 3.0280 seconds hbase(main):004:0> enable 'test' 0 row(s) in 2.4230 seconds |
9. 删除(drop)一个表
要删除一个表可以使用“drop”命令。我们首先需要disable这个表:
1 2 3 4 5 |
hbase(main):005:0> disable 'test' 0 row(s) in 2.3510 seconds hbase(main):006:0> drop 'test' 0 row(s) in 2.4040 seconds |
使用list命令再查看下‘test’表的信息:
1 2 3 4 5 |
hbase(main):007:0> list 'test' TABLE 0 row(s) in 0.1170 seconds => [] |
已经查不到这个表的信息了。
10. 退出HBase Shell
要退出HBase Shell并和集群断开连接可以使用“quit”命令。然而HBase仍然会在后台运行。
#######
发表评论