Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 知乎專欄 | 視頻教程 | About

16.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]$ 
		
		

16.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>