下面我們看看HBase Shell的一些基本操作命令,我列出了幾個常用的HBase Shell命令,如下:
名稱 |
命令表達式 |
創建表 |
create '表名稱', '列名稱1','列名稱2','列名稱N' |
添加記錄 |
put '表名稱', '行名稱', '列名稱:', '值' |
查看記錄 |
get '表名稱', '行名稱' |
查看錶中的記錄總數 |
count '表名稱' |
刪除記錄 |
delete '表名' ,'行名稱' , '列名稱' |
刪除一張表 |
先要屏蔽該表,才能對該表進行刪除,第一步 disable '表名稱' 第二步 drop'表名稱' |
查看所有記錄 |
scan "表名稱" |
查看某個表某個列中所有數據 |
scan "表名稱" , ['列名稱:'] |
更新記錄 |
就是重寫一遍進行覆蓋 |
一、DDL操作
1)創建表:
create 'member','member_id','address','info'
2)查看錶是否存在
list或者直接list 'table2'
我們看到表已經存在
3)查看一下表結構
describe 'member'
看到這一堆東西,仔細看一下都是這個三列的屬性;
4)刪除一列,修改表結構
刪除之前必須先將此表設置爲disabled;
1、disable 'member'
2、alter'member',{NAME=>'member_id',METHOD=>'delete'}
5)禁用表和啓用表
disable 'member' 禁用表
enable 'member'啓用表
6)刪除表
1 disable 'temp_table'
2 drop 'temp_table'
7) 檢查表是否存在
exists 'member'
8)檢查表是否可用
is_enabled 'member'
二、DML操作
1)插入幾條記錄
put'member','scutshuxue','info:age','24'
put'member','scutshuxue','info:birthday','1987-06-17'
put'member','scutshuxue','info:company','alibaba'
put'member','scutshuxue','address:contry','china'
put'member','scutshuxue','address:province','zhejiang'
put'member','scutshuxue','address:city','hangzhou'
put'member','xiaofeng','info:birthday','1987-4-17'
put'member','xiaofeng','info:favorite','movie'
put'member','xiaofeng','info:company','alibaba'
put'member','xiaofeng','address:contry','china'
put'member','xiaofeng','address:province','guangdong'
put'member','xiaofeng','address:city','jieyang'
put'member','xiaofeng','address:town','xianqiao'
2.查看記錄
get 'member','scutshuxue'
3.全表掃描
scan 'member'
4.刪除id爲temp的值的‘info:age’字段
5 .刪除整行
deleteall 'member','xiaofeng'
6.count'member'
8.給‘xiaofeng’這個id增加'info:age'字段,並使用counter實現遞增
hbase(main):057:0*incr'member','xiaofeng','info:age'
COUNTER VALUE = 1
hbase(main):058:0>get'member','xiaofeng','info:age'
COLUMN CELL
info:age timestamp=1321590997648,value=\x00\x00\x00\x00\x00\x00\x00\x01
1 row(s) in 0.0140seconds
hbase(main):059:0>incr 'member','xiaofeng','info:age'
COUNTER VALUE = 2
hbase(main):060:0>get'member','xiaofeng','info:age'
COLUMN CELL
info:age timestamp=1321591025110,value=\x00\x00\x00\x00\x00\x00\x00\x02
1 row(s) in 0.0160seconds
獲取當前count的值
hbase(main):069:0>get_counter'member','xiaofeng','info:age'
COUNTER VALUE = 2
9.將整張表清空:
hbase(main):035:0>truncate 'member'
Truncating 'member'table (it may take a while):
- Disabling table...
- Dropping table...
- Creating table...
0 row(s) in 4.3430seconds
可以看出,hbase是先將掉disable掉,然後drop掉後重建表來實現truncate的功能的。