從零自學Hadoop(21):HBase數據模型相關操做下

閱讀目錄

本文版權歸mephisto和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文連接,謝謝合做。html

文章是哥(mephisto)寫的,SourceLinkoop

 

     上一篇,咱們講述了HBase的數據模型相關操做的上部分。spa

   下面咱們開始介紹HBase的數據模型相關操做的下部分。3d

變量

一:定義變量

  這樣咱們就能夠使用t這個變量來代替table1了。code

t=get_table 'table1'

  

二:使用

t.put 'row1','cf1:a','v1'
t.get 'row1'
t.scan 

三:描述,名稱

  能夠查看錶的描述,和變量所代替的表名htm

t.describe
t.name

數據模型操做

一:介紹

  有讀get 寫 put 掃描 scan 刪除 delete 這幾種數據模型操做。blog

二:put

  咱們先寫入幾條數據。索引

put 'table1','row1','cf1:a','a1'
put 'table1','row1','cf3:a','aa1'

  設置rowkey爲row1的列族cf1中列爲a的值爲a1,列族cf3中列爲a的值爲aa1get

三:get

  獲取表table1中rowkey爲row1的數據博客

get 'table1','row1'

  從圖中我能夠看到列族cf1的a列,和cf3的a列的數據。

四:更新

put 'table1','row1','cf3:a','aa2'

  從圖中咱們能夠看到列族cf3的列a的值變了,並且時間戳也變了。無論value的值變成什麼,或者是本身自己,沒執行一次put命令,對應的列族的時間戳都會改變。

五:scan

  構造數據

 put 'table1','row2','cf1:b','b1'
 put 'table1','row3','cf3:b','bb1'

  掃描

scan 'table1'

  咱們能夠看到該表的每條,每列數據都會列出來。

  掃描列族cf1的數據

scan 'table1' ,{COLUMN=>'cf1'}

  掃描第一行的數據

scan 'table1' ,{LIMIT=>1}

  掃描起始行爲row2的前2條數據

scan 'table1' ,{LIMIT=>2,STARTROW=>'row2'}

  掃描時間戳在必定範圍內的數據

scan 'table1' ,{TIMERANGE=>[1474459901241,1474460092018]}
scan 'table1' ,{TIMERANGE=>[1474459901241,1474460092019]}

  這裏比較奇葩,起始的時間41能夠查出41的數據,截至時間18查不出18的數據,19才能查出18的數據。因此這點咱們應該留點心。

  倒序掃描數據

scan 'table1' ,{REVERSED => true}

  數據按照rowkey,列族,列族中的列倒序排列
  使用row過濾器掃描row1的數據

scan 'table1' ,{ROWPREFIXFILTER => 'row1'}

六:delete

  刪除rowkey 爲row1,列族cf1中列爲a的數據

delete 'table1','row1','cf1:a'

  咱們能夠試試這個語句

 delete 'table1','row1','cf1'

  發現沒有數據被刪除,因此刪除語句是針對列的,而不是針對列族的。

deleteall

  刪除一行

deleteall 'table1','row1'

 

 

 --------------------------------------------------------------------

  到此,本章節的內容講述完畢。

系列索引

  【源】從零自學Hadoop系列索引

 

 

 

 

本文版權歸mephisto和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文連接,謝謝合做。

文章是哥(mephisto)寫的,SourceLink

相關文章
相關標籤/搜索