HBASE SHELL 操作
名称 | 命令表达式 |
创建表 | create '表名称', '列族名称1','列族名称2','列族名称N' |
添加记录 | put '表名称', '行名称', '列名称:', '值' |
查看记录 | get '表名称', '行名称' |
查看表中的记录总数 | count '表名称' |
删除记录 | delete '表名' ,'行名称' , '列名称' |
删除一张表 | 先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步 drop '表名称' |
查看所有记录 | scan "表名称" |
查看某个表某个列中所有数据 | scan "表名称" , {COLUMNS=>'列族名称:列名称'} |
更新记录 | 就是重写一遍进行覆盖 |
添加一
- 创建表
>create 'users','user_id','address','info'
hbase(main):005:0>create 'user','userid','address','info'
0row(s) in 0.4650 seconds
=>Hbase::Table - user
表users,有三个列族user_id,address,info
- 列出全部表
>list
hbase(main):006:0>list
TABLE
user
1row(s) in 0.0180 seconds
- 得到表的描述
>describe 'users'
hbase(main):007:0>describe 'user'
Tableuser is ENABLED
user
COLUMNFAMILIES DESCRIPTION
{NAME=> 'address',DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE=> '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS =>'0', TTL => 'FOREVER', KEEP_DELETED_
CELLS=> 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE=> 'true'}
{NAME=> 'info',DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE=> '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS =>'0', TTL => 'FOREVER', KEEP_DELETED_CEL
LS=> 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE=> 'true'}
{NAME=> 'userid',DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE=> '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS =>'0', TTL => 'FOREVER', KEEP_DELETED_C
ELLS=> 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE=> 'true'}
3row(s) in 0.0860 seconds
- 创建表
>create 'users_tmp','user_id','address','info'
hbase(main):008:0>create 'user_temp','user_id','address','info'
0row(s) in 0.4320 seconds
=>Hbase::Table - user_temp
- 删除表
>disable 'users_tmp'
>drop 'users_tmp'
hbase(main):009:0>list
TABLE
user
user_temp
2row(s) in 0.0200 seconds
=>["user", "user_temp"]
hbase(main):010:0>disable 'user_temp'
0row(s) in 1.4110 seconds
hbase(main):012:0>drop 'user_temp'
0row(s) in 0.2330 seconds
hbase(main):013:0> list
TABLE
user
1row(s) in 0.0090 seconds
=>["user"]
- 添加记录
--一次插入一行
hbase(main):014:0>put'user','zhangsan','info:age','24';
hbase(main):017:0> put 'user','zhangsan','info:company','cnpc';
hbase(main):018:0' put 'user','zhangsan','info:birthday','1988-09-09';
hbase(main):019:0*put'user','zhangsan','address:conutry','china';
hbase(main):020:0*put'user','zhangsan','address:city','beiJing';
--一次插入多行
hbase(main):001:0>put'user','lisi','address:country','usa';put'user','lisi','address:city','newYork';
hbase(main):001:0>put'user','lisi','info:age','28'; put 'user','lisi','info:weight','70'; put'user','lisi','info:bitrhday','1900-12-12';
hbase(main):008:0>scan 'user'
ROW COLUMN+CELL
lisi column=address:city, timestamp=1450188162725, value=new\x19York
lisi column=address:country, timestamp=1450188162691, value=usa
lisi column=info:age, timestamp=1450188386861, value=28
lisi column=info:bitrhday, timestamp=1450188386977, value=1900-12-12
lisi column=info:weight, timestamp=1450188386967, value=70
zhangsan column=address:city, timestamp=1450187240722, value=beiJing
zhangsan column=address:conutry, timestamp=1450187240699, value=china
zhangsan column=info:age, timestamp=1450186822002, value=24
zhangsan column=info:birthday, timestamp=1450187264358, value=1988-09-09
zhangsan column=info:company, timestamp=1450187185959, value=cnpc
2 row(s) in0.0640 seconds(实际上只有现行,行键确定一行)
- 获取一条记录
1.取得一个id的所有数据
hbase(main):007:0>get 'user','zhangsan'
COLUMN CELL
address:city timestamp=1450187240722, value=beiJing
address:conutry timestamp=1450187240699, value=china
info:age timestamp=1450186822002, value=24
info:birthday timestamp=1450187264358, value=1988-09-09
info:company timestamp=1450187185959, value=cnpc
5row(s) in 0.0910 seconds
2.获取一个id,一个列族的所有数据
>get 'users','xiaoming','info'
hbase(main):012:0> get'user','zhangsan','info' 同等 get'user','zhangsan',{COLUMN => 'info'}
COLUMN CELL
info:age timestamp=1450186822002, value=24
info:birthday timestamp=1450187264358, value=1988-09-09
info:company timestamp=1450187185959, value=cnpc
3row(s) in 0.0210 seconds
3.获取一个id,一个列族中一个列的
所有数据
get 'users','xiaoming','info:age'
hbase(main):015:0> get'user','zhangsan','info:age' 同等 get 'user','zhangsan',{COLUMN => 'info:age'}
COLUMN CELL
info:age timestamp=1450186822002, value=24
1row(s) in 0.0160 seconds
- 更新记录
>put 'users','xiaoming','info:age' ,'29'
>get 'users','xiaoming','info:age'
>put 'users','xiaoming','info:age' ,'30'
>get 'users','xiaoming','info:age'
- 获取单元格数据的版本数据
>get'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}
>get'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}
>get'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}
hbase(main):004:0> put'user','zhangsan','info:age','26';
hbase(main):004:0>put 'user','zhangsan','info:age','30';
hbase(main):005:0*get 'user','zhangsan'
0row(s) in 0.0880 seconds
COLUMN CELL
address:city timestamp=1450187240722, value=beiJing
address:conutry timestamp=1450187240699, value=china
info:age timestamp=1450192093812, value=30
info:birthday timestamp=1450187264358, value=1988-09-09
info:company timestamp=1450187185959, value=cnpc
5row(s) in 0.0340 seconds
hbase(main):006:0>get 'user','zhangsan',{COLUMN => 'info:age',VERSIONS => 2}
COLUMN CELL
info:age timestamp=1450192093812, value=30
info:age timestamp=1450189851238, value=26
2row(s) in 0.0210 seconds
- 获取单元格数据的某个版本数据
〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}
hbase(main):003:0>get 'user','lisi',{COLUMN => 'info'}
COLUMN CELL
info:age timestamp=1450188386861, value=28
info:bitrhday timestamp=1450188386977, value=1900-12-12
info:weight timestamp=1450188386967, value=70
3row(s) in 0.0560 seconds
hbase(main):004:0>get 'user','lisi',{COLUMN => 'info:age'}
COLUMN CELL
info:age timestamp=1450188386861, value=28
1row(s) in 0.0150 seconds
hbase(main):005:0>get 'user','lisi',{COLUMN => ['info:age','info:weight']}
COLUMN CELL
info:age timestamp=1450188386861, value=28
info:weight timestamp=1450188386967, value=70
2row(s) in 0.0160 seconds
hbase(main):006:0>get 'user','lisi',{COLUMN => ['info:age','info:weight','address']}
COLUMN CELL
address:city timestamp=1450188162725, value=new\x19York
address:country timestamp=1450188162691, value=usa
info:age timestamp=1450188386861, value=28
info:weight timestamp=1450188386967, value=70
4row(s) in 0.0280 seconds
- 全表扫描
>scan 'users'
- 删除xiaoming值的'info:age'字段
>delete 'users','xiaoming','info:age'
>get 'users','xiaoming'
- 删除整行
>deleteall 'users','xiaoming'
- 统计表的行数
>count 'users'
- 清空表
>truncate 'users'