閱讀目錄
本文版權歸mephisto和部落格園共有,歡迎轉載,但須保留此段宣告,並給出原文連結,謝謝合作。
文章是哥(mephisto)寫的,SourceLink
序
上一篇,我們講述了HBase的資料模型相關操作的上部分。
下面我們開始介紹HBase的資料模型相關操作的下部分。
變數
一:定義變數
這樣我們就可以使用t這個變數來代替table1了。
t=get_table 'table1'
二:使用
t.put 'row1','cf1:a','v1' t.get 'row1' t.scan三:描述,名稱
可以檢視錶的描述,和變數所代替的表名
t.describe t.name
資料模型操作
一:介紹
有讀get 寫 put 掃描 scan 刪除 delete 這幾種資料模型操作。
二:put
我們先寫入幾條資料。
put 'table1','row1','cf1:a','a1' put 'table1','row1','cf3:a','aa1'設定rowkey為row1的列族cf1中列為a的值為a1,列族cf3中列為a的值為aa1
三: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'
--------------------------------------------------------------------
到此,本章節的內容講述完畢。
系列索引
本文版權歸mephisto和部落格園共有,歡迎轉載,但須保留此段宣告,並給出原文連結,謝謝合作。
文章是哥(mephisto)寫的,SourceLink