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,如需转载请自行联系原作者。


相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
机器学习/深度学习 分布式计算 Java
Hbase入门(二)——安装与配置
本文讲述如何安装,部署,启停HBase集群,如何通过命令行对Hbase进行基本操作。 并介绍Hbase的配置文件。 在安装前需要将所有先决条件安装完成。
793 0
Hbase入门(二)——安装与配置
|
存储 分布式计算 Hadoop
92 hbase简介
92 hbase简介
65 0
|
存储 JSON 监控
|
存储 缓存 分布式计算
HBase 代码_7 | 学习笔记
快速学习 HBase 代码_7
129 0
HBase 代码_7 | 学习笔记
|
存储 Shell 分布式数据库
HBase代码_6 | 学习笔记
快速学习 HBase代码_6
122 0
HBase代码_6 | 学习笔记
|
分布式数据库 开发者 Hbase
HBase代码_5| 学习笔记
快速学习 HBase代码_5
111 0
HBase代码_5| 学习笔记
|
缓存 分布式数据库 开发者
HBase 代码_2| 学习笔记
快速学习 HBase 代码_2
178 0
HBase 代码_2| 学习笔记
|
存储 分布式计算 Hadoop
HBase代码_1| 学习笔记
快速学习 HBase代码_1
133 0
HBase代码_1| 学习笔记
|
分布式数据库 Hbase
HBase 源码解析
HBase Read读流程源码解析&HBase Write写流程源码解析 &HBase Flush & Compact流程源码解析
4681 0
|
存储 Shell 分布式数据库
HBase代码_8 | 学习笔记
快速学习 HBase代码_8