hbase shell插入根據條件查詢數據


hbase shell插入根據條件查詢數據

創建並插入數據:

hbase(main):179:0> create 'scores','grade','course'

hbase(main):180:0> put 'scores','zhangsan01','course:art','90'

hbase(main):181:0> scan 'scores'
ROW                                                          COLUMN+CELL                                                                                                                                                                     
 zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            
1 row(s) in 0.0150 seconds

hbase(main):182:0> put 'scores','zhangsan01','course:math','99',1498003561726
(這里手動設置時間戳的時候一定不能大於你當前的系統時間,否則的話無法刪除該數據,我這里手動設置數據是為了下面的DependentColumnFilter過濾器試驗。你可以查看一下插入第一條數據的時間戳,再插入第二條數據的時間戳為第一條數據的時間戳)
hbase(main):183:0> put 'scores','zhangsan01','grade:','101'
問題:當我將這條插入的數據刪除之后再執行put 'scores','zhangsan01','grade:','101',1498003561726后能成功卻scan 'scores'后沒有該條數據,而再執行put 'scores','zhangsan01','grade:','101'后scan 'scores'卻能查到該條數據。如果想插入該條數據的時候手動設置時間戳的話,必須在第一次插入該條數據或者truncate后再插入。
hbase(main):184:0> put 'scores','zhangsan02','course:art','90'

hbase(main):185:0> get 'scores','zhangsan02','course:art'
COLUMN                                                       CELL                                                                                                                                                                            
 course:art                                                  timestamp=1498003601365, value=90                                                                                                                                               
1 row(s) in 0.0080 seconds

hbase(main):186:0> put 'scores','zhangsan02','grade:','102',1498003601365
hbase(main):187:0> put 'scores','zhangsan02','course:math','66',1498003561726
hbase(main):188:0> put 'scores','lisi01','course:math','89',1498003561726
hbase(main):189:0> put 'scores','lisi01','course:art','89'
hbase(main):190:0> put 'scores','lisi01','grade:','201',1498003561726

查詢數據:
根據rowkey查詢:

hbase(main):187:0> get 'scores','zhangsan01'
COLUMN                                                       CELL                                                                                                                                                                            
 course:art                                                  timestamp=1498003561726, value=90                                                                                                                                               
 course:math                                                 timestamp=1498003561726, value=99                                                                                                                                               
 grade:                                                      timestamp=1498003593575, value=101                                                                                                                                              
3 row(s) in 0.0160 seconds

根據列名查詢:
hbase(main):188:0> scan 'scores',{COLUMNS=>'course:art'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     
 lisi01                                                      column=course:art, timestamp=1498003655021, value=89                                                                                                                            
 zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            
 zhangsan02                                                  column=course:art, timestamp=1498003601365, value=90                                                                                                                            
3 row(s) in 0.0120 seconds

查詢兩個rowkey之間的數據:
hbase(main):205:0> scan 'scores',{STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     
 zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            
 zhangsan01                                                  column=course:math, timestamp=1498003561726, value=99                                                                                                                           
 zhangsan01                                                  column=grade:, timestamp=1498003593575, value=101                                                                                                                               
1 row(s) in 0.0140 seconds

查詢兩個rowkey且根據列名來查詢:
hbase(main):206:0> scan 'scores',{COLUMNS=>'course:art',STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     
 zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            
1 row(s) in 0.0110 seconds

查詢指定rowkey到末尾根據列名的查詢:
hbase(main):207:0> scan 'scores',{COLUMNS=>'course:art',STARTROW=>'zhangsan01',STOPROW=>'zhangsan09'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     
 zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            
 zhangsan02                                                  column=course:art, timestamp=1498003601365, value=90                                                                                                                            
2 row(s) in 0.0310 seconds


免責聲明!

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



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