Hbase 使用方法-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

Hbase 使用方法

简介:

列出所有 table

hbase(main):>	list

新增 table

A . 直接增加一個表 t2

hbase(main):>	create 't2'

B . 增加一個擁有 'f1','f2','fn' 為 column family 的表: t1

hbase(main):>	create 't1','f1','f2','fn'   

查詢 Table 欄位

hbase(main):> describe 't1'

執行結果參考

hbase(main):> describe 't1'
DESCRIPTION                                                             ENABLED                               
 {NAME => 't1', FAMILIES => [{NAME => 'f1', COMPRESSION => 'NONE', VERS true                                  
 IONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => '                                       
 false', BLOCKCACHE => 'true'}, {NAME => 'f2', COMPRESSION => 'NONE', V                                       
 ERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY =                                       
 > 'false', BLOCKCACHE => 'true'}, {NAME => 'fn', COMPRESSION => 'NONE'                                       
 , VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMOR                                       
 Y => 'false', BLOCKCACHE => 'true'}]} 

加入cell-value

需先擁有表 t1 與column-family : f1 並且加入一個 column-quantifier c1

hbase(main):>	put 't1', 'r1', 'f1', 'v1'    
hbase(main):>	put 't1', 'r1', 'f1:c1', 'v2'    
hbase(main):>	put 't1', 'r2', 'f2', 'v3'
hbase(main):>	put 't1', 'r2', 'f2:c2', 'v4'
Table: 't1'
row-key 'f1' 'f2' 'fn' column-family
* 'c1' * 'c2' * column-quantifier
r1 v1        
  v2      
r2     v3    
      v4  

列出cell-value

A . 列出一列(row)

hbase(main):>	get 't1', 'r1'

執行結果參考

COLUMN                    CELL                
 f1:                         timestamp=1285737082689, value=v1                                                
 f1:c1                       timestamp=1285737085874, value=v2                                          
Table: 't1'
row-key 'f1' 'f2' 'fn' column-family
* 'c1' * 'c2' * column-quantifier
r1 v1        
  v2      
r2     v3    
      v4  

B . 列出一個 cell 的值

hbase(main):>   get 't1', 'r1', {COLUMN => 'f1:c1'}

執行結果參考

COLUMN                       CELL                             
 f1:c1                       timestamp=1285737085874, value=v2
Table: 't1'
row-key 'f1' 'f2' 'fn' column-family
* 'c1' * 'c2' * column-quantifier
r1 v1        
  v2      
r2     v3    
      v4  

刪除 cell-value

hbase(main):>	deleteall 't1','r1'

執行結果:會把 row-key 是 'r1' 的所有紀錄。此時資料表 't1' 會變成如下表所示。

hbase(main):> scan 't1'                 
ROW    COLUMN+CELL                                                                      
 r2    column=f2:, timestamp=1285737091644, value=v3                                    
 r2    column=f2:c2, timestamp=1285737094157, value=v4
Table: 't1'
row-key 'f1' 'f2' 'fn' column-family
* 'c1' * 'c2' * column-quantifier
           
r2     v3    
      v4  

加入column family

hbase(main):>	disable 't1'
hbase(main):>   alter 't1', {NAME => 'f3'}
hbase(main):>   enable 't1'

執行結果:多了一個 column-family 'f3' 可以用 describe 指令查詢,結果示意如下表:

hbase(main):021:0> describe 't1'
DESCRIPTION                                                             ENABLED                               
 {NAME => 't1', FAMILIES => [{NAME => 'f1', COMPRESSION => 'NONE', VERS true                                  
 IONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => '                                       
 false', BLOCKCACHE => 'true'}, {NAME => 'f2', COMPRESSION => 'NONE', V                                       
 ERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY =                                       
 > 'false', BLOCKCACHE => 'true'}, {NAME => 'f3', VERSIONS => '3', COMP                                       
 RESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMOR                                       
 Y => 'false', BLOCKCACHE => 'true'}, {NAME => 'fn', COMPRESSION => 'NO                                       
 NE', VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_ME                                       
 MORY => 'false', BLOCKCACHE => 'true'}]}
Table: 't1'
row-key 'f1' 'f2' 'f3' 'fn' column-family
* 'c1' * 'c2' * * column-quantifier
r2     v3      
      v4    

刪除column family

hbase(main):>	disable 't1'
hbase(main):>	alter 't1', {NAME => 'f1', METHOD => 'delete'}
hbase(main):>   enable 't1'

執行結果:會移除 column family 為 'f1' 的所有欄位,可用 describe 指令確認,結果如下表所示。

hbase(main):053:0> describe 't1'
DESCRIPTION                                                             ENABLED                               
 {NAME => 't1', FAMILIES => [{NAME => 'f2', COMPRESSION => 'NONE', VERS true                                  
 IONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => '                                       
 false', BLOCKCACHE => 'true'}, {NAME => 'f3', COMPRESSION => 'NONE', V                                       
 ERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY =                                       
 > 'false', BLOCKCACHE => 'true'}, {NAME => 'fn', COMPRESSION => 'NONE'                                       
 , VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMOR                                       
 Y => 'false', BLOCKCACHE => 'true'}]}                                                                        
1 row(s) in 0.0200 seconds
Table: 't1'
row-key   'f2' 'f3' 'fn' column-family
  * 'c2' * * column-quantifier
r2   v3      
    v4    

節點狀態

hbase(main):>	status

刪除整張table

hbase(main):>	truncate 't1'
  • 執行完 truncate 後,所有 't1' 的內容都會被移除。但此時,下 list 還會有 't1' 這個表格存在。
hbase(main):>	disable 't1'
hbase(main):>	drop 't1'
  • 要完整移除 't1' 資料表,必須使用 disable 先將 't1' 停用,再用 drop 指令把 't1' 完全刪除。

转自:http://trac.nchc.org.tw/cloud/wiki/NCHCCloudCourse100929_2_USE

 



本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/p/3401078.html,如需转载请自行联系原作者。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章