Hbase shell基礎操作

一、數據定義命令【表級別的操作、數據庫級別的操作】
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’
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章