HBase shell 簡單使用


引言
HBase提供了豐富的訪問接口。
  • HBase Shell
  • Java clietn API
  • Jython、Groovy DSL、Scala
  • REST
  • Thrift(Ruby、Python、Perl、C++…)
  • MapReduce
  • Hive/Pig
其中HBase Shell是常用的便捷方式

首先你需要一個HBase的環境,如果需要自己搭建可以參考http://hbase.apache.org/book/quickstart.html 和http://hbase.apache.org/book/notsoquick.html

如果你在windows環境下配置cygwin及ssh遇到問題可以參考 http://qa.taobao.com/?p=10633。

進入HBase shell控制台
>bin/hbase shell
 輸入“help”可以快速掃描下支持那些命令。

創建表
> create 'blog','article','author'
知識點回顧:Column Family是schema的一部分,而Column不是。這里的article和author是Column Family。

查詢所有表

>list

增加記錄
>put 'blog','1','article:title,' Head First HBase '
>put 'blog','1','article:content','HBase is the Hadoop database. Use it when you need random, realtime read/write access to your Big Data.'
> put 'blog','1','article:tags','Hadoop,HBase,NoSQL'
> put 'blog','1','author:name','hujinjun'
> put 'blog','1','author:nickname',’一葉渡江’
知識點回顧:Column完全動態擴展,每行可以有不同的Columns。

根據RowKey查詢
> get 'blog','1'

知識點回顧:HTable按RowKey字典序(1,10,100,11,2)自動排序,每行包含任意數量
的Columns,Columns按ColumnKey(article:content,article:tags,article:title,author:name,author:nickname)自動排序

查詢列族

>get 'blog','1','author

查看表內容

>scan 'blog'

更新練習

  • 查詢下更新前的值:

> get ‘blog’,’1’,’author:nickname’

  • 更新nickname為’yedu’:

> put ‘blog’,’1’,’ahthor:nickname’,’yedu’

  • 查詢更新后的結果:

> get ‘blog’,’1’,’author:nickname’

知識點回顧:查詢默認返回最近的值。

  • 查詢nickname的多個(本示例為2個)版本值

> get 'blog','1',{COLUMN => 'author:nickname',VERSIONS => 2}


知識點回顧:每個Column可以有任意數量的Values,按Timestamp倒序自動排序。

當修改多次(大於3次,修改2次時也就有3個VERSIONS)時:VERSIONS默認最高為3

> get 'blog','1',{COLUMN => 'author:nickname',VERSIONS => 4}

  • 如何只查詢到以前的舊版本呢,需要借助Timestamp

>get 'blog','1',{COLUMN => 'author:nickname', TIMESTAMP => 1333690828877}

知識點回顧:TabelName+RowKey+Column+Timestamp=>Value

刪除記錄

  • delete只能刪除一個column

>delete 'blog','1','author:nickname'

  • 刪除RowKey的所有column用deleteall

>deleteall ‘blog’,’1’
刪除表
練習完畢,把練習表刪了吧,刪除之前需要先disable
>disable ‘blog’
>drop ‘blog’

小結
本文演示了通過HBase shell創建、刪除表及對記錄的增刪改查,可以參照操作結果對回顧的知識點進一步理解掌握,在本系列下一篇文章中講演示如何通過Java api來與HBase交互。

內容主要來自:http://hi.baidu.com/jrckkyy/blog/item/b5e0204595994e2086947370.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM