一、數據定義命令【表級別的操作、數據庫級別的操作】
1.輸入以下命令進入hbase控制檯:
hbase shell
2.查看所有的表:
list
3.create創建表:
create 'TestLab',{NAME=>'lUE’},VERSIONS=>3},{NAME=>'lab2',BLOCKCACHE=>'true'}
或者 create 'TestLab',’lab’,’lab2’
其中 TestLab是表名,lab與lab2是列族名。
4.describe描述表: 會列出一些表的詳細信息
describe 'TestLab'
5.alter命令更改表結構:可以完成更改列族參數信息、增加列族、刪除列族以及更改表的相關設置等操作:
修改列族的參數信息:
例如修改列族lab的版本。
alter 'TestLab',{NAME=>'lab',VERSIONS=>3}}
增加一個列族lab3:
alter 'Testlab','lab3'
移除或者刪除已有的列族lab3(前提條件是HBase表的列族數>= 2):
alter 'TestLab',{NAME=>'lab3',METHOD=>'delete'}
6.刪除表:
刪除表之前需要先禁用表、再進行刪除。
如果禁用表之後,想啓用表可以使用enable啓用表。
disable ‘TestLab’
drop ‘TestLab’
二、數據操作命令:
1.put命令:添加一個值(或者說一條記錄)到指定單元格中:
個人對put命令的理解:先用表明定位到表,然後根據行鍵定位到行,然後先定位列族再定位列名(字段名),這就與前面的行鍵構成了一個二維座標,就可以定位到具體的單元格,然後倒數第二個參數給定位到的單元格賦值,最後一個參數是時間戳可寫可不寫,不寫的話默認當前系統時間。
put 'TestLab','001','lab1:name','chenruhai',1
2.get通過表名、行鍵等參數獲取行或單元格數據:語法是 get 表名,行鍵,{條件}
get 'TestLab','001'
帶條件:
get 'TestLab','001',{COLUMN=>'lab1',VERSIONS=>2}
3.scan遍歷表並輸出滿足指定條件的行記錄:語法與get類似
scan ‘表名’ 表示查詢全表
scan ‘表名’,{條件} 表示條件查找,{COLUMN=>’lab’}
表示查詢列族lab,在’lab’中按照規則(列族:列名)加入列名即查看指定列;
指定輸出行數:
scan ‘TestLab’,{LIMIT=>2}
指定輸出範圍:
scan ‘TestLab’,{STARTROW=>’001’,ENDROW=>’003’}
4.count計算表中的邏輯行數:
count 'TestLab'
5.delete刪除表中列族或列的數據:
從表中刪除一個單元格或者一個行集,語法與put類似。
delete ‘TestLab’,’001’,’lab1’
根據時間戳刪除:
delete ‘TestLab’,’001’,’lab1:name’,2 表示刪除時間戳小於2的001行鍵的lab1下的name數據。
刪除所有列族在某一行的數據:
deleteall ‘TestLab’,’001’