業務開發測試HBase之旅二:通過HBase Shell與HBase互動

來源:互聯網
上載者:User

現在有業務需求有即時性統計需求,可能要用到Hbase,所以特轉載了一些關於hbase的文章

轉載自:Taobao QA Team,原文地址:http://qa.taobao.com/?p=13871

HBase提供了豐富的提供者。
• HBase Shell
• Java clietn API
• Jython、Groovy DSL、Scala
• REST
• Thrift(Ruby、Python、Perl、C++…)
• MapReduce
• Hive/Pig
其中HBase Shell是常用的便捷方式,我們將結合本系列上一篇文章的理論分析來實踐一把,依然採用blog表示例。

首先你需要一個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

看來控制台是靠jruby語言解析的。輸入“help”可以快速掃描下支援那些命令。

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

增加記錄
>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: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倒序自動排序。

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

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

    知識點回顧: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互動。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.