Home | 简体中文 | 繁体中文 | 杂文 | 打赏(Donations) | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | 知乎专栏 | Search | Email

19.3. Hbase Shell

安装完Apache hbase启动后就可以进入 hbase shell了,hbase shell 是与Hbase交互的界面。

		
[neo@netkiller bin]$ hbase shell
2017-06-27 21:07:35,524 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017

hbase(main):001:0>
		
		

退出 Hbase shell

		
hbase(main):038:0> exit
[neo@netkiller bin]$ 
		
		

19.3.1. 表操作

首先我们做几个基本操作,例如创建表,写入数据,读取数据等等,你会发现Hbase被神话了,操作其实没有那么复杂,远没有关系型数据库复杂。

创建一个名为 t1 的表,使用默认命名空间 namespace=default,这个表有一个列族名(column family) 为 f1。后面会解释什么是 column family,这里你只要对着操作就可以了。

			
hbase(main):002:0> create 't1', 'f1'
0 row(s) in 1.2190 seconds

=> Hbase::Table - t1
			
			

向t1表插入数据字段名(key)是r1,数据值 value 是 ‘value’

			
hbase(main):014:0> put 't1', 'r1', 'f1', 'value'
0 row(s) in 0.0060 seconds
			
			

获取表 t1 ,字段名(key)为 r1 的数据

			
hbase(main):032:0> get 't1', 'r1'
COLUMN                                              CELL                                                                                                                                                  
 f1:                                                timestamp=1498613275013, value=value                                                                                                                  
1 row(s) in 0.0240 seconds
			
			

列出用户表

			
hbase(main):009:0> list
TABLE                                                                                                                                                                                                     
t1                                                                                                                                                                                                      
1 row(s) in 0.0450 seconds

=> ["t1"]
hbase(main):010:0>
			
			

扫描表相当于 select * from t1

			
hbase(main):034:0> scan 't1'
ROW                                                 COLUMN+CELL                                                                                                                                           
 r1                                                 column=f1:, timestamp=1498613275013, value=value                                                                                                      
1 row(s) in 0.0140 seconds
			
			

表的启用与禁用操作

			
hbase(main):010:0> disable 't1'
0 row(s) in 1.3740 seconds

hbase(main):011:0> enable 't1'
0 row(s) in 1.2380 seconds
			
			

删除表,删除表之前需要先禁用该表,然后使用drop命令删除。

			
hbase(main):036:0> disable 't1'
0 row(s) in 2.2460 seconds

hbase(main):037:0> drop 't1'
0 row(s) in 1.2310 seconds

hbase(main):038:0>