新增
//語法:put <table>,<rowkey>,<family:column>,<value>,<timestamp> //新增或者覆蓋數據 put '表名','鍵名','列名(不是列簇名)','值' //指定的列名下單元格有值就覆蓋..沒有值就創建.所以HBase的添加數據和修改數據都是put語句.. //最后的時間戳可以不寫..默認為系統時間,如果要寫..切記不可使用引號括起來 hbase shell> put 'mytable','woshikey','ct:msg','99999999999999' hbase shell> put 'mytable','woshikey','ct:msg','99999999999999',1462241148
刪除
//刪除某個單元值的值 會刪除所有版本 //語法:delete <table>, <rowkey>, <family:column> , <timestamp>,必須指定列名 //測試后發現后邊跟時間戳也沒有用,依然會刪除所有版本 hbase shell> delete 'mytable','rowkey','ct:msg' //刪除行或者整個列簇 //語法:deleteall <table>, <rowkey>, <family:column> , <timestamp>,可以不指定列名,刪除整行數據 hbase shell> deleteall 'mytable','ct' hbase shell> deleteall 'mytable' //清空表數據 //語法: truncate <table> //等同於 disable -> drop -> create hbase shell> truncate 'mytable'
查詢
//掃描表 //語法: scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num} hbase shell> scan 'mytable' hbase shell> scan 'mytable',{COLUMNS=>'ct'} hbase shell> scan 'mytable',{COLUMNS=>'ct',LIMIT=>1} //返回所屬列簇里每個列的第一個值 hbase shell> scan 'mytable',{COLUMNS=>'ct:msg',LIMIT=>1} //獲取表數據 //語法: get <table>,<key>[,<columns>] hbase shell> get 'mytable','rowkey1' hbase shell> get 'mytable','rowkey1','ct' hbase shell> get 'mytable','rowkey1','ct:msg' hbase shell> get 'mytable','rowkey1',{COLUMN=>'ct'} hbase shell> get 'mytable','rowkey1',{COLUMN=>'ct:msg'} //獲取表行數 //語法:count <table>, {INTERVAL => intervalNum, CACHE => cacheNum} //INTERVAL設置多少行顯示一次及對應的rowkey,默認1000;CACHE每次去取的緩存區大小,默認是10,調整該參數可提高查詢速度 //例如,查詢表t1中的行數,每100條顯示一次,緩存區為500 hbase shell> count 'mytable', {INTERVAL => 100, CACHE => 500}